0

因此,假设我在 python 中创建了一个 TCP 套接字,而我授权的服务器需要一次发送多个标头来进行授权,我该怎么做呢?因为我要使用socket.sendall发送它们,然后等待授权握手回复。之后,我需要它等待数据回复,直到它得到一个,我该怎么做呢,因为如果在设定的时间内没有收到数据,它不会关闭套接字吗?有没有一些简单的方法可以正确发送这个或什么?~~编辑~~我想我的主要问题是如何发送多行数据包?:)

4

1 回答 1

1

类型为 的python 套接字SOCK_STREAM,使用该socket.sendall(data)函数只需发送一个字符串。是的,数据只是一个字符串。现在,您可以构建自己的标题和行以及所有内容并将其放入字符串中并告诉套接字将其全部发送到服务器。

然后只需执行 socket.recv(buffer) ,其中 buffer 是字节数的整数。正如 Thomas Orozco 所说,tcp 套接字可以保持打开很长时间,因此请确保服务器给出相当及时的回复。

编辑:顺便说一句,TCP 是一种传输层协议,您可以在这里阅读更多内容:http ://en.wikipedia.org/wiki/Transport_layer 。简而言之,TCP 将传输您告诉它传输的任何内容。在python中,它是字符串。

于 2012-11-01T22:16:29.757 回答