套接字连接无法识别所有客户端/连接

时间:2016-09-01 00:44:29

标签: node.js sockets

到目前为止,套接字正在按预期工作。在我的服务器上,我有:

const io = require('socket.io')(1923);

// after an action
io.sockets.emit('items', data);

然后在客户端:

const socket = io.connect('http://localhost:1923');
socket.on('items', (items) => {
  // do stuff with items
});

现在,当我在自己的机器上时这很好用。只要不同的设备打开网站,它就会在我的计算机上的浏览器上更新。

计算机

  • Firefox打开了网站
  • Chrome也是

移动

  • 网站已在Chrome移动版上打开

现在执行操作后,只有计算机上的网站才会更新,而不是我的新设备。检查连接时,它也只识别clientsCount: 2。 (而不是3)

该网站在三个不同的浏览器上打开。我为此做错了什么?

(旁注:我已尝试使用第二台计算机,但并非特定于移动设备。)

1 个答案:

答案 0 :(得分:0)

将我的评论写成答案,因为它似乎解决了你的问题......

此客户代码:

const socket = io.connect('http://localhost:1923');

除了在服务器所在的同一台计算机上以外的任何地方都不起作用。根据定义,localhost是本地计算机,只有本地计算机。您需要通过IP地址或DNS名称进行连接。

也许你想要这个:

const socket = io.connect('http://192.168.0.10:1923');