2

我有一个创建变量的 python 脚本heading。我想将此航向传输到无线自组织网络中的另一个节点。

我查看了很多教程和示例,但我不太了解套接字的哪一端。

我认为在我创建了变量的节点上,我将编写如下代码:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.connect((ipv4_address, 50086))
s.send(heading)

在接收端,我希望在同一个端口上侦听等待标题到达的东西:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind((ipv4_address, 50086))
while 1:
    data = client_socket.recv(512)

我不确定我是否以正确的方式连接和绑定?

4

1 回答 1

1
  • 服务器部分必须执行序列socket(), bind(), listen(), accept()。您的服务器部分当前不连接listen到套接字并且不accept连接。服务器部分也应该recv从由返回的套接字中获取数据accept,但不是您正在收听的那个。
  • 您需要确保该heading变量是一个字符串。否则,您可能希望使用JSONorpickle模块来序列化您的对象。

我建议您阅读socket module examplesat 官方 Python 文档。

于 2013-04-26T14:22:21.590 回答