三层中:appserver如何对连接的客户发送消息,类似广播。(100分)

  • 主题发起人 cjfandhf
  • 开始时间
C

cjfandhf

Unregistered / Unconfirmed
GUEST, unregistred user!
三层中:appserver如何对连接的客户发送消息,类似广播。
(不是用客户端调用,而是有appserver发送)。各位大侠发表高见!
 
怎没有人回答,还可加分!
 
最简单的方法采用回调,较复杂的办法采用可连接对象。
 
langer:
能详细一点吗?
 
用UDP很简单。
 
请详细解释
 
用asta,消息功能强大
 
我同意maming的看法,这样的问题没有必要把思路局限在MIDAS上,
实际上MIDAS在很多方面的功能还是可以有更大发展的,这样的问题
我也是通过UDP(使用简单)或者mailslot(通讯协议无关)解决的。
至于asta功能的确强大,不过没有源代码,技术没有足够透明性
用起来不放心,以后的升级都没有保障……偶不喜欢
 
大家继续讨论,广播只占全部系统的1%,系统已经决定采用Midas了,主要是和数据库结合
方便,在midas条件下如何实现广播?
类似Qicq的服务器给所有在线客户发送通知!!!
 
不知道你是指随时都可以发送信息 还是 只是在用户登陆进来时发送???
如果是后者应该比较简单吧
 
使用多进程的APP,每creat一个进程时,对CLIENT做标记。
可以考虑发送特定的数据包在客户端处理你需要的功能。
 
我想问一下怎么实现回调阿
 
很笨:保存每一个连接,对每一个连接发送信息
 
能不能详细?????
 
我一直用TCP/IP,别的就不知道如何实现。
1、客户端上放个SocketServer;
2、客户端登录时,把自已的IP和Port送给服务器备案。
3、服务器有需要就启动Socket连接,送出消息。
4、要想广播,就把所有的记录列表中的IP发一遍。发完一个Close一个,
也不会对系统性能有多影响。
 
DCOM支持回调阿,当然可以实现广播了
客户端提供一个接口给AppServer,
AppServer调用这个接口就可以了。
 
UDP虽然高效,但却不可靠。
消息广播功能可以用Corba的Event Service实现,可惜,DELPHI5目前对CORBA支持有限,
难以直接使用Event Service.
回调是比较可行的方法,其原理是在客户端登陆时,实现且向服务器传递一个专门用于回调的接口
实例,服务端记住该实例,需要的时候调用该接口的相应方法即可实现广播功能。我自己曾
写过一个回调的例子,需要可来信。
此外,使用事件也可以达到类似的效果。
 
大家继续讨论
 
有结果了吗?我也想知道!
 
附加功能 将问题提前
 
顶部