Skip to main content
 首页 » 编程设计

python之如何连接 2 个节点并使用 python 套接字通过它们发送数据

2025年05月04日6oomusou

我有一个 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 文档中。