gpt4 book ai didi

python - 是否可以选择特定的网络接口(interface)在 Python 中传输数据?

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:09 24 4
gpt4 key购买 nike

在Python中是否可以选择特定的网络接口(interface)来传输数据?我在 Linux 上。我正在尝试通过我的事件接口(interface)传输数据(首先通过 eth0,然后是 wlan0 等...)。谢谢。

最佳答案

如果我们谈论的是 tcp/udp,那么(就像在任何其他语言中一样)套接字接口(interface)允许您将特定的 ip 地址绑定(bind)到它,因此您可以通过绑定(bind)接口(interface)的地址来实现。

人们有一种误解,认为绑定(bind)只是为了监听套接字,但对于连接也是如此,只是在正常使用中绑定(bind)是为你选择的。试试这个:

import socket
s = socket.socket()
s.bind(('192.168.1.111', 0))
s.connect(('www.google.com', 80))

这里我们使用来自接口(interface) eth0(我的是 192.168.1.111)的 ip 和系统选择的源端口来连接到 google 的网络服务器。 (如果需要,您也可以通过替换 0 来选择源端口)

编辑:要获取用于特定接口(interface)的 IP 地址,您可以使用此食谱(仅限 Linux)- http://code.activestate.com/recipes/439094-get-the-ip-address-associated-with-a-network-inter/

(如果您在同一个接口(interface)上有多个 IP,我不确定它是否有效。我假设它会返回其中一个)

关于python - 是否可以选择特定的网络接口(interface)在 Python 中传输数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23887441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com