【问题标题】:Nodemcu Lua ESP8266 not sending TCP sockets using IP addressNodemcu Lua ESP8266不使用IP地址发送TCP套接字
【发布时间】:2017-12-12 04:28:57
【问题描述】:

我最近买了一个 NodeMcu Lua (Lolin),我正在用它做一些测试。 我尝试做的是将 TCP 数据包发送到我服务器上的 php 脚本,如果我尝试使用端口和主机名发送数据包,它可以工作,但如果我尝试使用 IP 它不会,这是一个错误还是什么?

这只是一个测试,因为我真正需要做的是使用此板将 TCP 数据包发送到我在我的电脑上(因此在同一个网络中)运行 XAMPP 的 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("Connected")
    conn:send(Disp)
    end )
conn:on("sent", function(conn, c)
    print("Sent: " .. Disp)
    conn:close()
    end )
conn:connect(Port,HostIP)

print("Done")

为了隐私,我更改了一些值,例如 IP 地址、wifi、密码等。

【问题讨论】:

    标签: php sockets tcp lua nodemcu


    【解决方案1】:

    您似乎可以使用“重新连接”、“断开连接”事件获得反馈。 https://nodemcu.readthedocs.io/en/master/en/modules/net/#netsocketon

    另外,这个函数可以帮助验证ip的正确性。 https://nodemcu.readthedocs.io/en/master/en/modules/net/#netsocketdns

    【讨论】:

      猜你喜欢
      • 2011-10-01
      • 2012-11-18
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多