问题:尝试使用客户端应用程序连接没有端口的Socket.io服务器

Issue: try connect with a Socket.io Server without port using a client application

本文关键字:Socket 服务器 io 连接 应用程序 客户端 问题      更新时间:2023-09-26

大家好!

我遇到问题了。我正在尝试在服务器中连接我的客户端应用程序。我的服务器由没有端口访问URL的Modulus托管。当我尝试调用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'});

非常感谢大家!

在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});