我有一个 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)
我不确定我的连接和绑定(bind)方式是否正确?
请您参考如下方法:
- 服务器部分必须执行序列
socket()、bind()、listen()、accept()。您的服务器部分当前不监听套接字并且不接受连接。此外,服务器部分应该从accept返回的套接字中recv数据,但不是您正在收听的套接字。 - 您需要确保
heading变量是一个字符串。否则你可能想使用JSON或pickle序列化您的对象的模块。
我建议您阅读 socket module examples在官方 Python 文档中。
