angular - WebSocketSubject 不工作

标签 angular websocket rxjs

我正在尝试通过websocket使用Angular客户端连接php后端。 我正在尝试使用 rxjs 中的 WebSocketSubject,但不知何故我无法建立连接。

此代码不起作用

this.socket$ = WebSocketSubject.create('ws://localhost:12345/websockets.php');

this.socket$
   .subscribe(
       (message) => { 
             console.log(message);
        },
       (err) => console.error(err)
);

我在控制台上也没有收到任何错误。

我已经使用 ES6 WebSocket 进行了测试,效果很好。所以服务器没有问题。 react 良好。

此代码有效:

var host = 'ws://localhost:12345/websockets.php';
var socket = new WebSocket(host);
socket.onmessage = function(e) {
    console.log(e.data)
};

有人可以指出我,我在这里错过了什么吗?

最佳答案

rxjs 界面略有变化。实例化 WebSocketSubject 更改的位置:

this.webSocketSubject = WebSocketSubject.create(...);

至:

this.webSocketSubject = new WebSocketSubject(...);

您向服务器发送消息的位置发生变化:

this.webSocketSubject.next(JSON.stringify(request));

至:

this.webSocketSubject.next(request);

关于angular - WebSocketSubject 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51364573/

相关文章:

angular - 组件更改自身时如何避免表达式 "changed after checked"错误

javascript - 如何在 RxJS mergeMap 中包含条件和非条件调用?

javascript - 从 Angular typescript 调用javascript的问题

javascript - Node : Fully executing websocket responses sequentially with async calls

javascript - Websockets 至少不能在一台机器上工作

go - 处理多个 websocket 连接

javascript - rxjs/订阅没有导出成员 'Subscription'

javascript - RxJS 5 Observable 和变量范围又名为什么我的变量不可读

javascript - 无效对象,预期流

css - kendo-ui 中用于 angular2 的样式输入组件