关于TCP通信问题。一次接收了多条数据?如何一条一条接收?
2015-11-03 来自:Aмor 1 人回应

服务器端向客户端发送数据,数据是从数据库中查询出来的结果集。想一条一条发送,但是客户端测试接收的时候有时候是两条数据或者几条数据合并一次接受到的。
服务器端: while(sd.Read())
{
//XXX...
sServer.Send(XXXX);
}
客户端线程:while(true)
{
sClient.Receive(XXX);//这里读取到buffer中就可能有几条合并数据
}
是写入或者读取数据是从缓冲区的原因么?

2015-11-07 来自:四品带刀起司猫

有两种解决方案。

一种是Socket 短连接,就是说你连接上,数据接收完就断开。

然后下一次发送数据的时候,你再连上,再接收完就断开。

另一种就是处理 粘包

您的回应

你还未登陆,不能回应!登陆