首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

ClientSocket的ReciveBuf的有关问题,到底如何同步呀

2012-02-05 
ClientSocket的ReciveBuf的问题,到底怎么同步呀比如说我在ServerSocket使用SendBuf函数ServerSocket1-Soc

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

热点排行