思考了下,大致逻辑如下。 所有客户端请求连接服务器端; 客户端a发送字节串,格式为【前缀命令+定界符+消息】,前缀命令就是你要指定发送的那几个IP地址,定界符可以用【rnrn】,也可以你自行指定; 在一个线程池里运行TCP服务器端的listener.accept(),设置一个queue用于储存指定发送的IP地址和消息; 每条线程的逻辑是,先decode接收到的字节串,然后解析出IP地址和消息并存入queue中; 同时每条线程中,检查自己的sock.getpeername()的IP地址是否存在于queue中,若存在,就发送消息,发完后删除queue中的该IP地址。
思考了下,大致逻辑如下。