TCP转发如何实现?
客户端ABCD都通过TCP连接到服务器S,如何实现A发送一条消息,BCD都能收到? 具体实现原理是怎么样的?
------解决方案--------------------Thread A:
while true:
message:=tcpChannel.readMessage()
for each channel in tcpChannels[B,C,D]:
channel.send(message)
end while
------解决方案--------------------还要在sendMsgToClient之前加一步 if (sock != clntSock)
------解决方案--------------------当有多个客服端连接上来的时候,服务器端用集合(当然用什么自己决定)把客服端的socket保存下来,然后服务器端再从保存下来的集合中取出socket,根据socket把消息转发给各个客服端。