不使用外部库获取以太网适配器 IPv4 地址

Get Ethernet adapter IPv4 address without using external libraries

我有两台电脑用交叉线连接,第一次需要启动PC1作为服务器,PC2作为客户端,然后第二次启动PC2作为服务器,PC1作为客户端。我使用 UDP 套接字,它在 Windows 上。所以我不能只把IP放在代码中,我需要服务器代码来自动获取IP。

我试过这个:

hostname = socket.gethostname()    
IPAddr = socket.gethostbyname(hostname)

但这给了我错误的 IP。我需要在 ipconfig/all 中检查以太网适配器以太网时看到的 IP 地址。

抱歉,我不确定你是否理解我的意思。英语不是我的强项。

您可以尝试使用 netifaces 包。文档是 here.

import netifaces

ip = netifaces.ifaddresses('eth0')[netifaces.AF_INET][0]['addr']
print(ip)

eth0只是一个示例,您可以从ipconfig

中获取实际的接口名称