首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写运行在以太网接口上的客户机/服务器程序?

如何编写运行在以太网接口上的客户机/服务器程序?
EN

Stack Overflow用户
提问于 2021-08-15 04:09:27
回答 1查看 47关注 0票数 0

我正在尝试编写一个Python二进制解码器/编码器,我一直在努力弄清楚如何在像eth0这样的以太网接口上运行它。这是我目前为客户端编写的代码:

代码语言:javascript
复制
import socket
port = 8888
host = 'localhost'
my_tuple = (host, port)
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(my_tuple)
server_socket.listen() 
client, address = server_socket.accept()
print("Connection from ", address)
message = client.recv(1024)
message = ' '.join('{0:08b}'.format(ord(i), 'b') for i in message.decode())
client.close()

有什么方法可以在以太网接口上实现这个功能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-15 04:20:23

您的以太网接口(eth0或其他),如果连接,可能会有一个IP地址与它相关联。尝试绑定到0.0.0.0或$IP地址。

因此,将host='localhost'替换为host='0.0.0.0',以便绑定到所有地址,或者让它绑定到特定的IP地址。

localhost是一个回送地址,因此只有同一台计算机上的客户端才能与侦听Localhost的程序进行对话。这通常用于内部守护进程,测试。

0.0.0.0告诉内核在上侦听与给定机器相关的所有 IP地址。

单独指定IP地址会指示内核侦听特定地址。如果您收听机器没有的地址,此呼叫将失败。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68788653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档