SOCKET,服务器和客户端,服务器用来转发多个客户端之间的消息,关于登入登出的一点有关问题

SOCKET,服务器和客户端,服务器用来转发多个客户端之间的消息,关于登入登出的一点问题
因为服务器和客户端都有一个在线的列表。
每次客户端登入的时候都会告诉服务器自己上线了,然后服务器端的用户信息加一条。
但客户端怎么知道其它客户是否在线了?
是每次有客户登入的时候服务器将所有的信息转发给所有的客户吗??
还有别的好的方式吗?
------解决方案--------------------
定时要更新一次在线用户列表吧?(感觉这个时间应该可以比较长)
另外某用户登陆的时候,服务器肯定要群发送用户上线消息的。
------解决方案--------------------
另外有一点,服务器端只是负责互传两个上线客户端之间的IP地址。之后的很多工作都是两个客户端自己完成的,不然服务器上千万级的时候就完蛋了。
------解决方案--------------------
你这个原型和QQ类似吧,登陆以后肯定就是请求,当前好友用户在线情况。请求帧必定和好友列表相关。


------解决方案--------------------
搜“jabber”?