我通过vc编写socket套接字程序,我把一系列16进制数据保存在一个sendbuf[]中,但是其中包括了0x00数据,0x00被默认为结束标志,导致后面的数据无法发送。求教如何顺利地发出0x00.不希望使用转义和通信协商。就是希望能够单纯的发送出比如6个0x00数据到客户端。客户端也能接收到0x00数据。谢谢!!
//发char sendbuf[30] = "0X000X000X000X010X020X000X00";int numsnd = send(clientSocket, sendbuf, 30, 0);//收BYTE buffer[1024]; memset(buffer, 0, 1024);num = recv(pDlg->toServer, (char*)buffer, 1024, 0); 测试可完全接收到,怎么会"结束"? 字符串数组编译器会加上\'\\0\',assii值为0,\'0\'的assii值为48,不是结束符.会不会发送时长度设小了,或接收处理时截断了?
提问者对答案的评价: |