【问题标题】:get IP Address in Lua在 Lua 中获取 IP 地址
【发布时间】:2011-08-12 21:02:03
【问题描述】:

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

谢谢 克里斯

【问题讨论】:

  • 不确定为什么 socket.dns.toip(socket.dns.gethostname()) 不起作用;它在我的 Lua 的 Linux 安装上运行良好。在设备上尝试时究竟得到了什么?
  • 要查找本地 ip,您可以在 windows 上使用系统命令 'ipconfig' 或在 linux 上使用 'ifconfig'。
  • 您的 WiFi 没有 IP 地址,除非它有网络连接。每次连接到新的无线网络时,它的 IP 地址都会发生变化。
  • “互联网连接”是指 3G/Edge 吗?

标签: sockets networking lua coronasdk


【解决方案1】:

您正在寻找的接口的 ip 可以根据您尝试与之交谈的 IP 地址而改变。下面的代码使用google的IP选择一个接口并返回IP地址。 使用 LUA/luasocket 对我有用,但我还没有在电晕中尝试过。

require "socket"

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

编辑:

在这种情况下,您不需要互联网,因为您实际上并没有连接到任何东西或发送任何数据包。但是,您需要相关接口才能真正拥有 IP。

【讨论】:

    猜你喜欢
    • 2010-12-15
    • 1970-01-01
    • 2010-11-04
    • 2012-11-29
    • 2011-04-08
    • 1970-01-01
    • 2016-06-14
    • 2011-10-11
    相关资源
    最近更新 更多