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

1,如何给另一个用户发消息
2,服务器交替侦听读和写,那么服务器如何给一个不发消息的客户端发消息?
3 请问同步socket写会阻塞吗?
谢谢解答!

up

给另外一个用户发消息两种方式:
1. 通过主机走;
2. 直接发送。但是需要两个用户之间都有专用客户端,象QQ就是这样。

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

同步socket写会阻塞

普通桌面应用程序就比较简单了,已经有很多例子了.
如果是WEB表现形式的话,肯定是需要一个底层通信框架.
然后写一个消息服务器,所有的消息发送都通过WEB容器转交给消息服务器.然后由消息服务器去通知挂在上面的WEB服务客户端.(有时不只一台WEB服务来转发和向桌面客户端提供消息)
WEB的servlet中,有一个就是专门向客户端提供最新消息列表的接口.它负责把自己得到的消息(本机内存中的)以某种形式提供给客户端(XML形式比较通用)
在这个基础上就比较好扩展,容易分散压力.不够的时候,只要部署相同的应用程序,挂在消息服务器上就可以了.
仅供参考,请各位大师指正.