BCB Socket接收数据分包问题
在csRead(TObject *Sender, TCustomWinSocket *Socket)中使用Socket->ReceiveBuf(recv_data,max_datalen);接收数据,发现本来应该一次性接收的数据被BCB自做主张分成两个包,第一个包大小1388,第二个包18.本来数据大小应为1404的。
我查了winSocket2.h里的SO_RCV... 接收缓冲区大小为0x1002,那么,为什么第一次只收到1388就被截断了?用setsocketopt函数也没有效果。
我不想自行拼接包,怎么办?如何让Socket把一个完整的包recv过来?