【发布时间】:2012-11-19 02:14:34
【问题描述】:
所以,假设我在 python 中创建了一个 TCP 套接字,而我授权的服务器需要一次发送多个标头来进行授权,我该怎么做呢?因为我要使用socket.sendall 发送它们,然后等待授权握手回复。之后,我需要它等待数据回复,直到它得到一个,我该怎么做呢,因为如果在设定的时间内没有收到数据,它不会关闭套接字吗?有没有一些简单的方法可以正确发送这个或什么?
~~编辑~~
我想我的主要问题是如何发送多行数据包? :)
【问题讨论】:
-
您能说得更具体些吗?也许您可以包括您正在使用的协议?没有像套接字级别这样的“标头”,只有传入和传出数据。关于如果没有接收到数据,套接字是否会关闭,情况并非如此,TCP 套接字可以保持打开非常长时间。
-
好吧,让我们说服务器即时发送也需要一个长度和一个消息 id 标头发送,通过 tcp 套接字,我将如何发送多行消息?
-
如果您使用的是面向行的 TCP 协议,只需在您发送的字符串中添加换行符:
your_socket.send( "line 1\nline 2" )
标签: python sockets networking tcp