Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TCP套接字接收不正确的字节C_C_Sockets - Fatal编程技术网

TCP套接字接收不正确的字节C

TCP套接字接收不正确的字节C,c,sockets,C,Sockets,我正在编写一个多人游戏,遇到了一个麻烦。我让服务器端通过call send()func发送一个缓冲区,而客户端通过call recv()func接收数据到一个缓冲区(在一个无限循环中)。问题是客户端有时接收到不正确的字节(=用于接收的缓冲区i malloc的字节)。Im通过使用ioctlsocket()使用非阻塞套接字。你能告诉我我的想法有什么不对吗?(抱歉我的英语不好)一如既往,有些问题会问为什么有些代码不起作用:请显示代码。另请参阅。根据我的经验,我可以猜您发送/接收的只是原始数据缓冲区,上

我正在编写一个多人游戏,遇到了一个麻烦。我让服务器端通过call send()func发送一个缓冲区,而客户端通过call recv()func接收数据到一个缓冲区(在一个无限循环中)。问题是客户端有时接收到不正确的字节(=用于接收的缓冲区i malloc的字节)。Im通过使用ioctlsocket()使用非阻塞套接字。你能告诉我我的想法有什么不对吗?(抱歉我的英语不好)

一如既往,有些问题会问为什么有些代码不起作用:请显示代码。另请参阅。根据我的经验,我可以猜您发送/接收的只是原始数据缓冲区,上面没有任何应用程序级协议。请记住,TCP是面向流的协议,而不是面向消息的。您发送的消息块与接收的消息块大小不同。您需要用一个指示消息长度的头来包装流