【100分】SOCKET 同步发送 粘包
自己尝试完成了一个即时通讯工具 但在多人会话时 遇到了一个问题:
A发起与B C的三人会话 那么当A发送消息时 连续两次 socket.send(_msg)
服务端代码
byte[] _msg = new byte[_maxPacket];
clientSocket.Receive(_msg);
//查找HASH表 客户在线则发送消息
if (_table.ContainsKey(_receiver))
{
Socket receiverSocket = (Socket)_table[_receiver];
receiverSocket.Send(_msg);//此时发送的是B+C的信息 不是B->C信息
}
可能这个例子不太恰当 我想问 当遇到这种 需要和2个人以上发送信息时 必须连续send 如何避免粘包的情况发生 谢谢