高分请教:TcpClient连接,接收到的数据不完整的问题?

YNC56 2011-10-13 11:52:18
监听客户端的连接:

private void ListenClientConnect()
{
TcpClient tcpClient = null;
while (true)
{
try
{
tcpClient = tcpListener.AcceptTcpClient();
}
catch
{
break;
}
Thread thread = new Thread(ReceiveData);
thread.Start(remoteServer);
}
}





private void ReceiveData(object serverState)
{
RemoteServer remoteServer = (RemoteServer)serverState;

while (flag)
{
string strReceiveMsg = string.Empty;
try
{

strReceiveMsg = remoteServer.br.ReadString();

AddConnectInfo(strReceiveMsg);
// MessageBox.Show(strReceiveMsg);
}
catch
{
//发送MSA错误消息
break;
}
//todo:解析字符串,然后发送消息
//todo:处理接受过来的消息,并处理,然后请求tcp连接
}

}

问题:
1、 strReceiveMsg = remoteServer.br.ReadString();得到的消息不完整,第一个字符被截断了
2、消息内容不够长的话,获取不到消息。
请问是什么原因造成的?
...全文
193 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdzcool 2011-10-13
  • 打赏
  • 举报
回复
之前在读取的时候是用char数组来弄的,你这个是字符串是不是被转义字符给掩盖了。

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧