套接字 – 在Lua中获取IP地址

我尝试从我的设备获取本地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

谢谢
克里斯

解决方法

您正在寻找的接口的IP可能会根据您尝试与之通话的IP地址而改变.下面的代码使用谷歌的IP来选择一个接口并返回IP地址.
它对我使用LUA / luasocket有用,但我没有在日冕中尝试过.

require "socket"

local s = socket.udp()
s:setpeername("74.125.115.104",80)
local ip,_ = s:getsockname()
print(ip)

编辑:

在这种情况下,您不应该需要互联网,因为您实际上并未连接任何内容或以其他方式发送任何数据包.但是,您需要有问题的接口才能实际拥有IP.

相关文章

1.github代码实践源代码是lua脚本语言,下载th之后运行thmai...
此文为搬运帖,原帖地址https://www.cnblogs.com/zwywilliam/...
Rime输入法通过定义lua文件,可以实现获取当前时间日期的功能...
localfunctiongenerate_action(params)localscale_action=cc...
2022年1月11日13:57:45 官方:https://opm.openresty.org/官...
在Lua中的table(表),就像c#中的HashMap(哈希表),key和...