【发布时间】:2016-06-30 13:31:59
【问题描述】:
所以我有一个在我的机器上运行的完成的 nodejs + socket.io + reactjs 项目。我可以在我的机器上打开不同的选项卡或浏览器并对其进行测试,以及它的工作原理。但是我想在局域网内的其他机器上测试它。当我通过其他机器上的 wifi 将它连接到我的网络 IP 地址时,我可以看到该页面。但是,socket.io 不工作。当我在 chrome(其他机器)中打开控制台时,这是我看到的错误:
GET http://localhost:3000/socket.io/?EIO=3&transport=polling&t=LMXV0Ufnet::ERR_CONNECTION_REFUSED
这是我的节点 app-server.js:
app.use(express.static('./public'));
app.use(express.static('./node_modules/bootstrap/dist'));
var server = app.listen(3000);
var io = require('socket.io').listen(server);
我该如何解决这个问题?还有什么是在生产中部署的推荐方式,以便 socket.io 可以工作。
【问题讨论】:
-
另一台机器可能通过浏览器 url 指向您的网络服务器,但它在那里说它正在尝试连接到另一台计算机
localhost。您的客户端套接字连接还需要指向服务器所在的机器。这是打算在 LAN 上运行还是只是想测试一下? -
@azium 你好,azium。不,我只是在我的局域网上测试它。对不起,我只是一个初学者。我该怎么做才能解决这个问题?我是否让 app/socket.io 监听网络 ip?
标签: node.js reactjs socket.io-1.0