我有一个 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 文档中。
关于python - 如何连接 2 个节点并使用 python 套接字通过它们发送数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16238422/