我正在尝试连接/绑定到特定的网络接口卡 (NIC) 或无线网络接口。例如,当我创建一个套接字时,我想使用网络名称(例如“wlan0”或“eth0”)而不是使用 IP 地址进行连接。在 JAVA 中,我可以使用以下代码轻松完成此操作:
//Initializing command socket
//String networkCard = "wlan0"; //or could be "eth0", etc.
NetworkInterface nif = NetworkInterface.getByName(networkCard);
Enumeration<InetAddress> nifAddresses = nif.getInetAddresses();
// IP address of robot connected to NIC
SocketAddress sockaddr = new InetSocketAddress("192.168.1.100", 80);
sock = new Socket();
// bind to the specific NIC card which is connected to a specific robot
sock.bind(new InetSocketAddress(nifAddresses.nextElement(), 0));
sock.connect(sockaddr,10000);
我想把它翻译成 Python,但我很难。关于如何做到这一点的任何建议?
我正在使用 sockopt 和 AF_CAN,但没有任何效果。
非常感谢!!!