我一直在用 python 研究一些 TCP 通信,当它突然不工作时,我发现这是因为我拔掉了用于通信的原始设备,因为我只是想在本地测试它以获得更快的响应。
通信采用请求->答复模式,请求客户端应该连接到
192.168.50.11
我的以太网适配器配置为。
当没有设备连接到我的以太网适配器时,“ipconfig”将在以太网适配器上显示“媒体断开连接”,而当我连接设备时,它将显示正确的 IP 192.168.50.11。
有没有办法让以太网适配器在另一端没有任何连接的情况下保持“活动”状态,或者我必须用 python 编写一个检查函数,当没有连接任何内容时切换到“localhost”?
想法:我可以只编辑 localhost 来匹配我想要的 IP 吗?
答案1
即使没有插入电缆,也强制以太网适配器 IP 处于活动状态
这行不通。当接口离线时,绑定到该接口的任何 IP 也都会离线。
对你的问题的直接回答是“使用环回接口”——无论物理接口是什么,环回总是可以正常工作。但是,环回需要适当的路由,并且可能很难实现。
您真正需要做的是配置服务器软件以使用0.0.0.0
,即“未指定的地址”。使用该地址将绑定到任何和所有本地地址,包括127.0.0.1
和任何物理接口,即使它当前处于关闭状态或稍后添加到系统中。
在本地客户端上,您可以127.0.0.1
随时将其用作目的地,或者192.168.50.11
在联网客户端上(显然需要链接)。