无法连接到localhost

时间:2015-10-14 07:30:35

标签: dns localhost esp8266 nodemcu

我的服务器运行在127.0.0.1:8000(Django应用程序)。一切都很好,我可以通过我的浏览器或卷曲访问它。

但是当我尝试连接我的ESP8266以发送一些数据时,某些内容被破坏,我甚至无法连接到我的localhost服务器。

我试过了:

conn = net.createConnection(net.TCP, false)
conn:on("connection", function(conn, payload) print("in connection") end)
conn:connect(8000, "127.0.0.1")

什么都没打印。

我尝试使用conn:connect(8000, "localhost")conn:connect(8000, "http://127.0.0.1")conn:connect(80, "127.0.0.1")。相同的结果,没有打印。最后一个,我有一个“DNS失败!”消息。

只需检查,conn:connect(80, "www.google.com")即可打印“连接中”。

有什么猜测吗?

1 个答案:

答案 0 :(得分:2)

在TCP / IP中,名称“localhost”或从127.0.0.1到127.255.255.255的地址空间是本地计算机。意味着机器本身。我假设您的Django应用程序可以在计算机上运行,​​并且可以通过任何浏览器或卷曲从该计算机上运行,​​您可以连接并使用django服务。

当您尝试从esp模块连接django服务时,您尝试使用localhost ip,这意味着esp模块本身。由于esp作为服务没有运行,因此没有任何反应。

如果要将esp模块连接到计算机上运行的django服务,则需要键入计算机的真实地址。它应该像192.168.1.5或者那样不能以127.XXXXXXXX开头。

基本上,当您键入conn:connect(8000, "localhost")时,您正尝试连接esp本身。不是你电脑上的django。