c# TCP编程 传输消息问题
我写了一个程序,服务器端每100ms就向客户端发送一个命令消息字符串 由于发送时间间隔短,客户端有时会受到两个命令合成的字符串,造成错误,如命令消息格式为"xxx,xxx",有时会收到"xxx,xxxxxx,xxx".请问应该怎么解决这个问题呢?关键代码如下
服务器端
private void SendToClient(User user, string message)
{
try
{
user.sw.WriteLine(message);
user.sw.Flush();
AddItem(string.Format("向{0}发送{1}", user.userName, message));
}
catch
{
AddItem(string.Format("向{0}发送信息失败", user.userName));
}
}
客户端
NetworkStream netStream = client.GetStream();
sr = new StreamReader(netStream, System.Text.Encoding.UTF8);
try
{
receiveString = sr.ReadLine();
}
catch
{
service.AddItemToListBox("接收数据失败");
receiveString = null;
}