首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >socket.io客户端在浏览器中工作,但在node.js中不工作。

socket.io客户端在浏览器中工作,但在node.js中不工作。
EN

Stack Overflow用户
提问于 2022-03-31 16:30:30
回答 1查看 71关注 0票数 0

以下代码仅在浏览器中工作。它在node.js中不工作

代码语言:javascript
复制
let socket1 = io('http://localhost:3031/nsp')

socket1.on("connect", (error) => {
  console.log("socket1: connect")
});

我正在连接到netty-socketio (v1.7.7) java服务器。我能够连接到浏览器和node.js客户端上的根命名空间,一切都按预期工作。但是,如果我试图连接到命名空间,则只有浏览器客户端可以按预期进行连接。

此外,我可以在服务器上看到node.js客户机(v2.4.0)连接到根名称空间,而它应该连接到命名的名称空间"nsp“。因此,客户端加入根名称空间,并且似乎从未加入"nsp“命名空间。

在进一步的检查中,在指定命名空间时,在连接之后,我可以在node.js客户机上触发的唯一事件是"ping“所有其他事件(连接、connect_error、错误、重新连接.)永远不要触发。

更新:上述代码在连接到node.js服务器时工作,因此问题似乎与netty-socketio服务器有关。

下面是初始化netty服务器的方式:

代码语言:javascript
复制
Configuration config = new Configuration();
config.setHostname("localhost");
config.setPort(3031);

server = new SocketIOServer(config);
server.addNamespace('/nsp')
EN

回答 1

Stack Overflow用户

发布于 2022-03-31 18:53:01

我终于想出来了。我不得不将node.js客户端版本还原为1.7.4 (https://www.npmjs.com/package/socket.io-client/v/1.7.4)才能让它正常工作。不知道为什么我被迫使用这样一个老客户端才能使用名称空间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71696137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档