Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
Network programming tcp消息传递的最佳约定_Network Programming_Pyqt_Tcpclient_Tcpserver_Qtcpsocket - Fatal编程技术网

Network programming tcp消息传递的最佳约定

Network programming tcp消息传递的最佳约定,network-programming,pyqt,tcpclient,tcpserver,qtcpsocket,Network Programming,Pyqt,Tcpclient,Tcpserver,Qtcpsocket,我正在使用此消息转换:%total_msg_length%|%msg_body%通过tcp套接字(python/pyqt)接收字符串数据。这是一个好的对流,还是我应该试试别的?这并不少见 除了使用分隔符(如|)之外,另一种方法是将消息长度设置为固定大小,例如始终为4或8个字符。然后您可以阅读4(或8或您选择的内容)以获得消息大小。问题是,您必须至少调用两个recv:一个用于长度,另一个用于主体

我正在使用此消息转换:%total_msg_length%|%msg_body%通过tcp套接字(python/pyqt)接收字符串数据。这是一个好的对流,还是我应该试试别的?

这并不少见

除了使用分隔符(如
|
)之外,另一种方法是将消息长度设置为固定大小,例如始终为4或8个字符。然后您可以阅读4(或8或您选择的内容)以获得消息大小。问题是,您必须至少调用两个
recv
:一个用于长度,另一个用于主体