看帖神器
未名空间
追帖动态
头条新闻
每日新帖
最新热帖
新闻存档
热帖存档
文学峸
虎扑论坛
未名空间
北美华人网
北美微论坛
看帖神器
登录
← 下载
《看帖神器》官方
iOS App
,体验轻松追帖。
正好我也请教下大家
查看未名空间今日新帖
最新回复:2020年10月7日 22点38分 PT
共 (2) 楼
返回列表
订阅追帖
只看未读
更多选项
阅读全帖
只看图片
只看视频
查看原帖
g
guvest
4 年多
楼主 (未名空间)
stackoverflow上的这个找ip的代码,是什么原理?
broadcast是干啥的?
我一直用这个(还有connect 8.8.8.8),没发现过问题。
https://stackoverflow.com/questions/166506/finding-local-ip-addresses-using-pythons-stdlib
import socket
def getNetworkIp():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.connect(('', 0))
return s.getsockname()[0]
print (getNetworkIp())
T
TeacherWei
4 年多
2 楼
你机器上的操作系统,知道自己的IP,不是很正常么?
你创建一个Socket,他当然要绑定本地IP了。然后你问它绑定的是啥IP?它就告诉你呗。
至于为啥设置Broadcast,就是确保绑定的是网卡。
最后提醒你,这段代码可能返回127.0.0.1,你可以把WiFi关闭网线拔了试试。
请输入帖子链接
收藏帖子
stackoverflow上的这个找ip的代码,是什么原理?
broadcast是干啥的?
我一直用这个(还有connect 8.8.8.8),没发现过问题。
https://stackoverflow.com/questions/166506/finding-local-ip-addresses-using-pythons-stdlib
import socket
def getNetworkIp():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.connect(('', 0))
return s.getsockname()[0]
print (getNetworkIp())
你机器上的操作系统,知道自己的IP,不是很正常么?
你创建一个Socket,他当然要绑定本地IP了。然后你问它绑定的是啥IP?它就告诉你呗。
至于为啥设置Broadcast,就是确保绑定的是网卡。
最后提醒你,这段代码可能返回127.0.0.1,你可以把WiFi关闭网线拔了试试。