战地服务器:COM服务器是“服务器”吗 (com server)

为什么 COM 服务器被称为“服务器”?

服务器通常是在机器上运行的响应来自客户端的请求的进程。

COM“服务器”只是可以由正在运行的进程调用的编译代码文件。它们不应该被称为服务器。

4

从技术上讲,“服务器”只是一个提供服务的程序。因此,在 COM 中,您有客户端和服务器。当然,今天我们认为 HTTP / REST / SOA / 微服务等。但是 COM 在那之前就已经存在了,甚至在诸如“网络”(甚至没有谈到 internetwork / internet)之类的明显概念之前也不是那么明显。

让我们引用官方文档:COM s and Servers

COM 客户端是获取指向 COM 服务器的指针并通过调用其接口的方法来使用其服务的任何代码或对象。

COM 服务器是向客户端提供服务的任何对象;这些服务采用 COM 接口实现的形式,可以由能够获取指向服务器对象上某个接口的指针的任何客户端调用。

有两种主要类型的服务器,进程内进程外。进程内服务器在动态链接库 (DLL) 中实现,进程外服务器在可执行文件 (EXE) 中实现。进程外服务器可以驻留在本地计算机或远程计算机上。

此外,COM 提供了一种机制,允许进程内服务器(DLL)在 EXE 进程中运行,以获得能够在远程计算机上运行该进程的优势。有关更多信息

确实,许多 COM 服务器都是在 DLL 中实现的,但并非总是如此。著名的进程外服务器示例:Word,Excel 等。

另外,如最后一句话所述,您可以(几乎总是)通过使用进行配置来轻松地将进程内服务器(即 DLL)转换为进程外服务器。COM 提供了一个名为“dllhost.exe”的 defaut ,您有时可以在任务管理器中看到它。例如,Windows 资源管理器使用它来保护自己免受恶意进程内扩展的影响。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(612)
电脑启动cpu风扇不转:以编程方式访问笔记本电脑上的 CPU风扇(Windows)
上一篇
Cba亚洲外援:AndroidTimezone.getDefault()提供亚洲 /加尔各答而不是亚洲/加尔各答
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(68条)