码迷,mamicode.com
首页 > 其他好文 > 详细

使用delphi 开发多层应用(二十四)KbmMW 的消息方式和创建WIB节点

时间:2014-08-03 23:11:26      阅读:395      评论:0      收藏:0      [点我收藏+]

标签:使用   os   io   for   art   问题   ar   div   

    KbmMW 中支持基于UDP的消息广播,也支持TCP/IP hub/spoke 方式,还有

基于UDP或者TCP/IP 的点对点的消息传输。

1.基于UDP的消息广播

bubuko.com,布布扣

      根据UDP  的工作原理,在同一个网段里面,可以发布广播包。这样发布者只需要发布一次,

消息就可以被同一网段上的所有订阅者收到。这样大大的降低了网络带宽。这个方式的最大缺点是

无法直接跨越网段,如果要跨越网段,就需要建立一个Gateway. Gateway 就是一个程序,连接两个网段。

它接受第一个网段的广播消息,然后再广播到第二个网段。

2.Hub/Spoke 消息

bubuko.com,布布扣

由于消息广播在多网段之间传输有很多问题。这种方式把几个节点连接到

一个Hub(集线器)上。然后通过这个Hub 连接到WIB 上。这样不同的节点就可以

互相通信了。由于这种方式消息要在网络上传输很多次,因此效率比较低。

为了提高传输效率,就需要加一个spoke.spoke 通知Hub,他订阅了什么消息。

 

3.点对点消息

bubuko.com,布布扣

这种方式是通过IP,一个节点给另外一个节点传输消息。当然了,如果一个节点收到另外一个节点的

消息后,如果不是自己订阅的,它就会忽略这条消息。

 

为了建立一个WIB 发布或者订阅节点,只需要添加一个TkbmMWxxxyyyMessagingTransport。

这里的xxx 代表 transport的类型(UDP/TCPIP), yyy 表示是否是client 或者是server transport.
为什么要区别client和server transport呢,主要有两个原因:

1.首先KbmMW 在发布/订阅模式下,不但支持异步的消息传输,而且还支持传统的请求/应答的同步方式,

这样就必须区别服务端和客户端。

2.另外一个原因就是Hub/Spoke 方式中,Hub 总是server transport方式,  spoke总是 client transport方式.

 

要实现传统的请求/应答的同步方式,只需要加一个KbmMWserver, 就可以了,当然了,如果

你不要传统方式的访问,除了Hub,你所有的节点都可以选用client transport.

 

使用delphi 开发多层应用(二十四)KbmMW 的消息方式和创建WIB节点,布布扣,bubuko.com

使用delphi 开发多层应用(二十四)KbmMW 的消息方式和创建WIB节点

标签:使用   os   io   for   art   问题   ar   div   

原文地址:http://www.cnblogs.com/xalion/p/3888988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!