我自己想的思路是当有消息过来的时候就开一个线程转发消息。
第一:那么如果同一时间多个消息来了是不是开多个线程?
第二:怎样用Socket给指定ip用户发消息?
第三:如果要群发,只能一个个的发吗?socket有没快点的方法啊?

解决方案 »

  1.   


    我对你的思路不是很明白  尤其是  “转发” 神马意思。。我的思路大致为
    1 每一个客户端有自己的Socket
    2 我向别人发消息的大概步骤是:
    2-1 创建别人的Socket(用IP地址神马的)
    2-2 往该Socket里写消息(自定义消息格式、协议等等)
    3 每一个客户端有一个接收线程,一旦有消息就读取并作相应操作好了 回答问题:
    1 我只用一个线程接收,同时来多个消息什么的 应该不需要特别处理(Socket里好像已经做过处理 我乱说的)
    2 先用IP创建Socket,然后往里面写就可以了
    3 可以考虑组播 
      

  2.   

    第一:那么如果同一时间多个消息来了是不是开多个线程?
    如果你用传统IO的话,一个线程一个socket,对应一个客户端。如果用NIO的话不用多线程也可以。
    第二:怎样用Socket给指定ip用户发消息?
    如果是服务端,每个客户端连接时记录他的IP,对应socket,如果是客户端,直接new socket(ip,port)
    第三:如果要群发,只能一个个的发吗?socket有没快点的方法啊?
    可以一个一个的发,也可以广播,如MulticastSocket