BCB TServerSocket发送数据的无奈问题
我用TServerSocket 发送数据, 有A, B, C, 三类数据, 大小分别是 (1028, 800, 740), 每次发的不同数据.
发送如下:
A a ; B b ; C c ; ServerSocket1->Socket->Connetion[0]->SendBuf(&a, sizeof(a)) ; ServerSocket1->Socket->Connetion[0]->SendBuf(&b, sizeof(b)) ; ServerSocket1->Socket->Connetion[0]->SendBuf(&c, sizeof(c)) ;
char buf[8000] ; // 足够接收任何数据 int len = Socket->ReceiveBuf(buf, 8000) ; if (sizeof(A) == len) { // 这里能收到数据 } else if (sizeof(B) == len) { // 这里收不到数据 } else if (sizeof(C) == len) { // 这里收不到数据 } else { // 据观察, 这里受到了 sizeof(B) + sizeof(C) 的数据! }