ClientSocket的ReciveBuf的问题,到底怎么同步呀
比如说我在ServerSocket使用SendBuf函数ServerSocket1->Socket->Connections[i]->SendBuf(&packet,65535);
你在ClientSocket中接收的长度总是分多次接收完的,并且int ddd = Socket->ReceiveLength();总是很短,
SendBuf之后由Socket多次发送完成的,我想得到完整的Packet怎么办呢?
我发送的packet,65535
接收端如何多次接收再组成完成版的packet呢?
[解决办法]
Socket本来就是流式传输,没有包的概念。
你只好自己加包头,包尾,校验等来构成完整的包。
[解决办法]
正如楼上说的。定义好你的包括,接收指定大小的包。如果小于包括,就再循环Receive一次。直接收到想要的包长为止。
[解决办法]
你的问题很常见 ,见这个帖子
http://topic.csdn.net/u/20110712/08/fe253a94-cae7-4f20-b341-27bcf5e51e23.html