背景
我有一个使用socket.io
的Node.js服务器,通过HTTPS接受来自客户端的连接。
我知道这个服务器能够工作,因为我可以通过浏览器连接它。
问题
问题是我无法创建一个Node应用程序作为客户端连接到这个服务器。
我正在使用以下代码:
const io = require("socket.io-client");
const socket = io.connect("https://my.website.com:3002", { secure: true, reconnect: true });
socket.on("connect", function(){
console.log("connected");
});
socket.on("disconnect", function(){
console.log("disconnected");
});
socket.on("error", console.error);
服务器未注册连接,并且此应用程序未记录任何错误。看起来我连接到了错误的服务器,但是当我使用浏览器时,相同的URL却可以正常工作。
研究
我在github和官方文档中搜索了答案。即使是类似的stackoverflow问题似乎也不起作用:
- Node.js客户端用于socket.io服务器
- https://www.npmjs.com/package/socket.io-client
- https://github.com/socketio/socket.io-client/issues/828
问题
我做错了什么?
socket.on("connect_error", function(e){ console.log("connect_error", e); });
并等待了20秒。看起来error
事件并不会被所有类型的错误触发 -.- - Roland Starkehttps
很重要,因为我花了两天时间寻找这个解决方案。 - RozzA