Javascript Socket.io客户端初始化不';t似乎按照文件规定的方式工作(4.x)

Javascript Socket.io客户端初始化不';t似乎按照文件规定的方式工作(4.x),javascript,node.js,socket.io,Javascript,Node.js,Socket.io,My scoket.io服务器托管在example.com//socket.io/ 默认情况下,socket.io将尝试连接到example.com/socket.io/,因此我需要自定义使用的端点: 在上面的示例中,客户端将连接到主命名空间。 对于大多数用例,仅使用主名称空间就足够了, 但您可以使用以下命令指定命名空间: // same origin version const socket = io("/admin"); // cross origin version c

My scoket.io服务器托管在
example.com//socket.io/

默认情况下,socket.io将尝试连接到
example.com/socket.io/
,因此我需要自定义使用的端点:

在上面的示例中,客户端将连接到主命名空间。 对于大多数用例,仅使用主名称空间就足够了, 但您可以使用以下命令指定命名空间:

// same origin version
const socket = io("/admin");
// cross origin version
const socket = io("https://server-domain.com/admin");
所以我选择了:

const socket = io("/<id>/socket.io");
constsocket=io(“//socket.io”);
并尝试:

const socket = io("/<id>/socket.io/");
const socket=io(“//socket.io/”);

const socket=io(“https://example.com//socket.io");

const socket=io(“https://example.com//socket.io/");
但是失败的轮询消息表明它正在尝试连接到默认的
https://example.com/socket.io/

我可以验证套接字服务器是否在正确的端点上运行,因为访问
https://example.com//socket.io/
提供消息:
{“code”:0,“message”:“Transport unknown”}
https://example.com//socket.io/socket.io.js
为Socket.IO v4.0.0提供服务

如何进一步调试或修复此问题


编辑:尝试使用v3并获得相同的结果。

您尝试的是让Socket.IO连接到不同的路径,而不是名称空间。简而言之,您应该使用
路径
选项,如下所示:

//作为第一个参数传递的字符串是要使用的命名空间,
//不是要连接到的路径。
常量套接字=io(“/”{
//将路径ID设置为实际路径ID。
路径://socket.io/“
});
阅读更多关于Socket.IO名称空间的信息

const socket = io("https://example.com/<id>/socket.io");
const socket = io("https://example.com/<id>/socket.io/");