WinMM是一个网络传输通道服务器程序,启动WinMM服务器程序后,在你的计算机中就建立了对指定端口的TCP/UDP的服务。所有来自其它远程计算机的WinMM连接(TCP/UDP)都能与本机进行通讯。如果链接没有应用处理,则WinMM在一定时间后自动清除接收到的信息,如果有应用程序处理接收的数据,则WinMM通知应用,有信息通过网络接收到。应用可以采用多种方式获得和处理这些信息。 WinMM管理收发队列,自动建立应用通道,可以实现多进程多端口和多通道服务,也可以在其上实现多路流媒体收发过程控制。为应用管理和屏蔽复杂的网络连接操作。 WinMM采用的是对称服务技术,每一个网络连接点都是一个应用服务器,同时也是客户端。因此,利用WinMM构成的网络体系是可以任意连接的。 在WinMM框架下,应用编程利用WinMM提供的Dll接口与WinMM交换信息。应用可以通过注册识别码,在WinMM体系中建立专门的信息交换域。只有相同识别码的应用之间,才可以互相连接和交换信息。当然,应用可以注册多个识别码,从而可以形成,多对一的信息流动结构。 WinMM的功能类似于IBM的MQ功能。队列缓冲可以保证信息的安全。同时WinMM还具有自我清理功能——死信清理。对于没有及时被处理的信息,在一定时间后,可以认为它是死信,因此,被放置到死信队列。 下面是使用WinMM动态库接口的一些说明,在程序包中有关于delphi和VC++点NET的程序示例。对于使用C++builder的用户,可以参考delphi的示例。 WinMM体系结构 1、 应用结构 使用WinMM进行网络数据交换的应用利用WinMMDll数据接口与WinMM进行通讯,不同的应用使用不同的注册标志(GUID串)形成各自的数据域。应用向WinMM注册数据域标志(GUID串)的个数是没有限制的,一般依赖于WinMM的设置(最大应用注册数)。应用在一个数据域(注册标志)上可以建立多个通道,这些通道既可以指向相同的IP和端口,也可以不同。因此应用可以根据所处理的数据建立适合的通道组。 关于默认连接,是指对WinMM设置中的指定TCP/UDP默认端口的服务建立连接。 一般而言,默认连接是为了早期版本的兼容性而保留的连接。所有连接在性能上是相等的,在管理上也是等效的。都可以使用系统接口函数进行访问。早期版本的函数是对默认连接有效的。 关于使用WinMM和动态库接口函数的详细信息请参考示例程序。 2、 网络连接 网络连接是操作网络所必需的过程,WinMM简化了连接建立和数据传输的处理过程,应用可以使用WinMM接口函数直接建立适合的连接通道,而无需参考Socket的一些特殊编程和数据收发的处理。 WinMM采用数据队列的形式缓冲收发数据,并根据通道信息对数据和应用进行操作,收发数据,通知消息。对于报废的数据自动进行处理,并以适当方式提醒计算机操作者。WinMM为每一个通道建立相应的控制线程,管理通道的数据收发,处理超时等网络问题。 对于大数据量的数据传输,比如文件传输,视频/音频流数据,可以在基本通道连接的基础上实现。同时可以实现多通道多线程并行处理的传输体系。 3、 对称服务 对称服务是互为C/S的网络分布体系结构。对WinMM而言设置了默认服务端口和系统服务端口后,所有按照此设置运行的WinMM机器自动形成对称服务分布体系,在这个体系中的应用所注册的每一个数据域(GUID标志)都自动形成一个VPN分布系统。这个VPN系统是由自身的数据域标志(GUID标志)唯一地标识的。只有同样标志下的所有应用才能互相交换信息,互为服务器和客户机。 4、 系统发布 利用WinMM创建的分布式数据系统在发布时必须首先确定WinMM统一的设置参数,主要是服务端口需要统一,否则系统连接可能会出现麻烦(不能找到对应端口的服务器)。其次是应用使用的数据域标志(GUID标志),这是非常关键的。只有相同数据域标志的应用之间可以交换信息。 因此,在发布WinMM体系下的数据系统是,采用统一的WinMM配置和指定的数据域是必要的。
- 1
- 粉丝: 227
- 资源: 29
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助