无法连接到聊天 Websocket(Angular,socket.io)



我在尝试连接到套接字时遇到了一个主要问题。我必须使用这个urlwss://socketio-chat-h9jt.herokuapp.com当我在本地启动服务器并正确设置CORS时:

const io = require('socket.io')(server, {
cors: {
origin: "http://localhost:4200",
methods: ["GET", "POST"]
}
});

效果很好。不幸的是,我必须使用特定的URL。当我在服务中更改它时:

socket = io('wss://socketio-chat-h9jt.herokuapp.com');

它不再工作了。我的组件应该在创建时console.log连接状态。当服务器在本地运行时,我得到连接消息,当我使用URL时,什么都没有发生……我甚至有错误监听器,当我使用wss://socketio-chat-h9jt.herokuapp.com时,它打印这个错误:

Error: server error
at Socket.onPacket (socket.js:317:1)
at Polling.Emitter.emit (index.mjs:136:1)
at Polling.onPacket (transport.js:105:1)
at callback (polling.js:118:18)
at Array.forEach (<anonymous>)
at Polling.onData (polling.js:121:53)
at Request.Emitter.emit (index.mjs:136:1)
at Request.onLoad (polling.js:365:18)
at XMLHttpRequest.xhr.onreadystatechange [as __zone_symbol__ON_PROPERTYreadystatechange] (polling.js:301:26)
at XMLHttpRequest.wrapFn (zone.js:766:1)

有人能帮忙吗?我正在使用带套接字的Angular 13。Io-client(最新版本).

当我看到你的代码时,你试图从不安全的URL连接你的套接字,你已经安全地创建了套接字

那么,你已经使用--ssl

服务了你的angular应用程序你可以参考docs链接,它指导你如何在HTTPS//上安全地运行你的angular项目

我希望这对你有帮助

最新更新