我尝试从我的设备获取本地 IP(在 Corona Lua 中编程)
直到现在我这样做:
local myip = socket.dns.toip(socket.dns.gethostname())
但这仅适用于模拟器
local client = socket.connect( "www.google.com", 80 )
local ip, port = client:getsockname()
但这仅在我有 Internet 连接时才有效
我怎么能在没有互联网的情况下在我的 Wifi 中获得我的本地 IP
谢谢
克里斯
最佳答案
您正在寻找的接口(interface)的 ip 可以根据您尝试与之交谈的 IP 地址而改变。下面的代码使用google的IP选择一个接口(interface)并返回IP地址。
使用 LUA/luasocket 对我有用,但我还没有在电晕中尝试过。
require "socket"
local s = socket.udp()
s:setpeername("74.125.115.104",80)
local ip, _ = s:getsockname()
print(ip)
编辑:
在这种情况下,您不需要互联网,因为您实际上并没有连接到任何东西或发送任何数据包。但是,您需要相关接口(interface)才能真正拥有 IP。
关于sockets - 在 Lua 中获取 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7046291/