一个客户端程序和一个服务器程序。多个客户端同时连接一个服务器,当有新的客户端上线或下线时,其它客户端会更新当新在线列表。可以在列表中选中多个对象进行群聊。
工具源码及程序下载链接如下:http://download.csdn.net/source/2600043

解决方案 »

  1.   

    我一直在想: 发消息流程是:客户端A发送给服务器,服务器在转发给另一客户端B。服务器通过B的IP地址发送消息,既然可以知道B的IP,为什么A不直接通过B的IP发消息给B?
    如果每个消息都要服务器转发的话 服务器负载很大。用户(例如客户端A)上下线的时候 服务器向每个用户(A-Z)都发送一次消息,频繁的上下线呢?服务器忙死了
    为什么不直接由A发送给(A-Z ),同时也转发给服务器他下线了。这样服务器只用接收一次数据,而不是转发很多次消息。
      

  2.   

    如果根本不用服务器,那每一个用户怎么知道其他用户的IP呢?用户还是需要在服务器上注册IP的吧。(除非有几个用户,几个IP都是固定写死的)
      

  3.   


    你的意见提得很好,呵呵,看来你看了我的代码。我写这个的时候并没有考虑这些,只是为了熟悉Java Socket的使用练习。随着进一步的练习,这个程序还有很多有待改进的地方,谢谢你的意见!