请教彭老师一个关于高性能聊天室的问题

06-09-15 regale
    

1,如何给另一个用户发消息

2,服务器交替侦听读和写,那么服务器如何给一个不发消息的客户端发消息?

3 请问同步socket写会阻塞吗?

谢谢解答!

    

regale
2006-12-08 15:46

up

banq
2006-12-11 10:46

给另外一个用户发消息两种方式:

1. 通过主机走;

2. 直接发送。但是需要两个用户之间都有专用客户端,象QQ就是这样。

服务器给客户端发消息,那么必须在客户端安装NIO,用来监听客户端。

同步socket写会阻塞

MiMiEye
2006-12-29 23:14

普通桌面应用程序就比较简单了,已经有很多例子了.

如果是WEB表现形式的话,肯定是需要一个底层通信框架.

然后写一个消息服务器,所有的消息发送都通过WEB容器转交给消息服务器.然后由消息服务器去通知挂在上面的WEB服务客户端.(有时不只一台WEB服务来转发和向桌面客户端提供消息)

WEB的servlet中,有一个就是专门向客户端提供最新消息列表的接口.它负责把自己得到的消息(本机内存中的)以某种形式提供给客户端(XML形式比较通用)

在这个基础上就比较好扩展,容易分散压力.不够的时候,只要部署相同的应用程序,挂在消息服务器上就可以了.

仅供参考,请各位大师指正.