假如,服务器端知道了客户端1、2、3在线
1 发送了数据给服务器
服务器要将1的数据分别发送到2、3,怎么发送呢???

解决方案 »

  1.   

    楼上的不懂就不要说了
     SOCKET聊天室的实现方式都是服务器推送方式主动发送数据到客户端
      

  2.   

    是不是建一个客户端socket列表,然后发送到指定的客户端呢??
      

  3.   

    没错,就是需要这样做.
    当客户登陆的时候,加到一个列表里面去,
    你定义消息结构,比如1|2|hello
    这样就是说:消息来自1号,要去2号,消息内容是hello.然后匹配用户列表,发送.
    就是这样.
      

  4.   

    我是这样做的,已经把连上的客户端放到一个列表里了(1,2的socket)
    知道了1要传给2(知道了2的ip),匹配用户列表时,怎么匹配呢,用个循环吗??
      

  5.   

    客户端登陆的时候,给服务器短发消息,服务器用hashtable存住客户端信息。最好是IP设位键值。
    每隔一段时间服务器给所有人发信息判断是否在线。
    客户端验证信息自动返回一个在线信息。
    没有回信的从hashtable里删掉。
    ===========================================
    我是这样做的,已经把连上的客户端放到一个列表里了(1,2的socket)
    知道了1要传给2(知道了2的ip),匹配用户列表时,怎么匹配呢,用个循环吗??
    ===============
    用hashtable,ip做健值。知道IP就可以判断了。