首页 > 解决方案 > 与 wss 连接时,Websocket Web 客户端得到 1006

问题描述

我有一个 websocket node.js 服务器并从 ios、android 成功连接。但是,在 Angular Web 应用程序中使用 rxjs/webSocket 连接时失败,返回 1006。

然后我在本地运行 websocket 服务器,将 localhost:4200 Angular Web 应用程序与服务器连接-> ws://localhost:3000/ws,它工作正常。为什么连接不上wss one。

服务器:

const app = express();
const server = createServer(app);
const cors = require('cors');

app.use("/", express.static("public"));
var corsOptions = {
  origin: 'http://localhost:4200',
  credentials: true
};
app.use(cors(corsOptions));

const wsApp = expressWs(app, server).app;
wsApp.ws("/ws", handleSocketConnection);

const port = process.env.PORT || 3000;
server.listen(port, () => {
  console.log(`server started on http://localhost:${port}`);
});

客户:

public initSocket(clientId): void {
    console.log('init socket');
    this.socket = webSocket(environment.webSocket);

    this.socket.next({ "channel": "login", "name": clientId });

}

public getMessage(): Observable<IWebsocketMessage> {
    return new Observable<IWebsocketMessage>(observer => {
        this.socket.subscribe((data: IWebsocketMessage) => {
            console.log('message received: ' + JSON.stringify(data));
            observer.next(data);
        }, error => {
            console.log(error);
        });


    });
    //    return this.socket.asObservable();
}

标签: javascriptnode.jsangularwebsocket

解决方案


推荐阅读