Nodemcu Lua ESP8266使用 IP 地址无法发送 TCP sockets

我最近购买了一个 NodeMcu Lua (Lolin),并对其进行了一些测试。 我试图发送一个 TCP 数据包到我的服务器上的一个 php 脚本,如果我使用端口和主机名发送数据包,它是可以工作的,但如果我尝试使用 IP 发送,它就无法工作了,这是一个 bug 吗?

这只是一个测试,因为我实际上需要使用这个板子发送 TCP 数据包到在 XAMPP 上运行的我的 PC 上的一个 php 脚本(因此在同一网络中运行)。

为什么板子使用主机名可以发送数据包,但使用 IP 却不能? 同时,我需要使用哪些地址从板子发送数据包到我的计算机上(在作为服务器的 php 脚本和作为客户端的板子上)?

这是我为板子使用的 LUA 代码:

wifi.setmode(wifi.STATION)
wifi.sta.config("Alice-49289348", "mypassword")
wifi.sta.connect()

Disp = "D1"
Port = 9863
HostIP = "81.139.206.12"

conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, c) print(c) end )
conn:on("connection", function(conn, c)
    print("已连接")
    conn:send(Disp)
    end )
conn:on("sent", function(conn, c)
    print("已发送: " .. Disp)
    conn:close()
    end )
conn:connect(Port,HostIP)

print("完成")

我已更改一些值,例如 IP 地址、wifi、密码等,以保护隐私。

点赞
用户4687565
用户4687565

似乎可以使用“reconnection”、“disconnection”事件获取反馈信息。

https://nodemcu.readthedocs.io/en/master/en/modules/net/#netsocketon

此外,这个函数可以帮助验证 IP 地址的正确性。

https://nodemcu.readthedocs.io/en/master/en/modules/net/#netsocketdns

2017-07-09 19:48:33