[上一页]
[下一页]
1.1.6 网络通信
1.1.6 网络通信
很多服务程序是单机应用程序,装在单台计算机上并监视各种各样的活动。下面是一些和Windows一起安装的服务:
■ 不间断电源支持(Uninterruptible Power Supply) 在发生电源故障的情况下响应UPS设备的通知 ■ 索引服务(Indexing Service) 监视你硬盘上文件的变化以便更新主目录,可以快速查找 ■ Windows安装器(Windows Installer) 管理在计算机上软件的安装、修改和删除 ■ RunAs服务(RunAs Service) 允许用户以另一种不同的安全环境运行一个程序 ■ 任务调度器(Task Scheduler) 以精确的时段把程序划分运行 上面提到的这些服务不需要任何网络通讯,但很多服务需要。下面是一些随同Windows安装的网络感知的服务程序例子: ■ 事件日志(Event Log) 发送被请求的事件日志记录给远程机器,允许远程管理 ■ 网络会议远程桌面共享(NetMeeting Remote Desktop Sharing) 允许远程用户通过用微软的NetMeeting来查看和控制你计算机桌面 ■ 服务(Server) 允许远程用户访问共享文件夹、打印机和命名管道 ■ 工作站(Workstation) 能让你的计算机远程联接另一台机器上的共享文件夹、打印机和命名管道
如果你的服务程序需要网络通信,有很多机制可供你使用:
■ 邮件槽(Mailslot) 使运行Windows的计算机之间可进行无类型数据的单向进程间通信(IPC) ■ 命名管道(Named pipe) 使允许运行Windows的计算机之间可进行无类型数据的双向进程间通信 ■ Socket 使运行任何操作系统(支持Socket)的计算机之间可进行无类型数据的双向进程间通信 ■ 远程调用(RPC) 使运行任何操作系统(支持RPC)的计算机之间可进行有类型数据的双向进程间通信 ■ 组件对象模型(COM) 使运行任何操作系统(支持COM)的计算机之间可进行有类型数据的双向进程间通信 所有的网络通信机制都可以是相当复杂的,每一种有其独特的细微差别。事实上,可找到整本都在讨论sockets、RPC和COM的书。因为这个原因,我决定在本书中不直接讲解通信机制,取而代之为鼓励你搜寻其它相关信息来源。在前面列表里我所提到的所有机制中,命名管道是最容易理解和运用的,所以本书中的大多数需要网络通信的例子应用程序使用命名管道。 |
注意 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 你也可以使用原始的网络协议(IPX/SPX/NetBIOS、NetBEUI、TCP/IP、AppleTalk等等)作为你的通信机制。然而,微软极力反对这样做,因为它将你的应用程序绑定在特定的协议上,而其他的高层机制(邮槽、管道、sockets、RPC和COM)工作在所有的原始协议上,使你的应用程序可以运行在更多不同的环境中。 |