4

每个人!

我有问题。我正在尝试使用我的客户端应用程序连接服务器。我的服务器由 Modulus 托管,没有访问 URL 的端口。当我尝试调用io('my-application.onmodulus.net')时,浏览器 (chrome) 会返回一个失败的 GET net::ERR_CONNECTION_REFUSED,并在 GET URL 中设置了一个 PORT。

我在浏览中测试了没有 PORT 的 URL,并且可以正常工作。有一种方法可以从客户端获取 socket.io 连接,而无需 socket.io 在 URL 中设置端口?

这是我的代码:

我尝试了不同的方法来调用这个方法,但我没有找到 OPTIONS 参数文档。

var socket = io('my-application.onmodulus.net', {multiplex: false, path: '/socket.io'});

非常感谢大家!

4

1 回答 1

1

在 socket.io 中,如果您将任何内容作为第一个参数传递io()给指定主机名,那么它应该是 URL 形式,而不仅仅是主机名。

如果您不传递任何内容(例如,您只是调用io()),那么 socket.io 将连接到与当前网页相同的主机和端口。

所以,你可以使用:

var socket = io('http://my-application.onmodulus.net/socket.io', {multiplex: false});

或者,如果您连接到与网页相同的主机和端口,则可以省略 URL 并使用:

var socket = io({multiplex: false});
于 2015-05-17T22:44:39.293 回答