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
Python 如何终止接收到的tcp数据包?_Python_Sockets_Tcp_Buffer - Fatal编程技术网

Python 如何终止接收到的tcp数据包?

Python 如何终止接收到的tcp数据包?,python,sockets,tcp,buffer,Python,Sockets,Tcp,Buffer,据我所知, Python可以访问传输层,但不能控制流 我有一个变量需要使用tcp发送。但是我不能决定接收到的数据包的缓冲区大小。这就是应该在里面的东西: c.recv(buff) 变量不断变化,我不想浪费数据包。那么,如何确保接收器在变量之后终止接收? 在我的例子中,如果我把buff放得太大,程序就会卡在那里。如果我把它放得太小,数据包就会丢失/变量数据丢失。 那么,在接收到大小不同的数据块后,我应该在服务器/接收器中更改什么以终止?因此,程序可以转到下一行。有两种方法可以选择拆分tcp数据包

据我所知, Python可以访问传输层,但不能控制流

我有一个变量需要使用tcp发送。但是我不能决定接收到的数据包的缓冲区大小。这就是应该在里面的东西:

c.recv(buff)
变量不断变化,我不想浪费数据包。那么,如何确保接收器在变量之后终止接收? 在我的例子中,如果我把buff放得太大,程序就会卡在那里。如果我把它放得太小,数据包就会丢失/变量数据丢失。
那么,在接收到大小不同的数据块后,我应该在服务器/接收器中更改什么以终止?因此,程序可以转到下一行。

有两种方法可以选择拆分tcp数据包:前缀长度或拆分器。请参阅