Websocket 从角度项目连接Laravel echo
我有一个Laravel echo服务器,在本地服务器上运行Redis。 我创建了一个测试API端点,它发出可广播事件 关于Websocket 从角度项目连接Laravel echo,websocket,redis,socket.io,laravel-echo,angular-socket-io,Websocket,Redis,Socket.io,Laravel Echo,Angular Socket Io,我有一个Laravel echo服务器,在本地服务器上运行Redis。 我创建了一个测试API端点,它发出可广播事件 关于http://localhost:8000/api/web-套接字测试我在echo server CLI中看到响应 我设置了laravel echo身份验证密钥,可以从服务器API获取统计信息 http://localhost:6001/apps/APP_ID/status?auth_key=b73a61d0 问题在于通过ws:协议从Angular连接到echo服务器。 我
http://localhost:8000/api/web-套接字测试
我在echo server CLI中看到响应
我设置了laravel echo身份验证密钥,可以从服务器API获取统计信息
http://localhost:6001/apps/APP_ID/status?auth_key=b73a61d0
问题在于通过ws:协议从Angular连接到echo服务器。
我的连接代码是
import {webSocket, WebSocketSubject} from 'rxjs/webSocket';
导出类MyComponent实现OnInit、OnDestroy{
myWebSocket:WebSocket主题
如何建立ws-connection?我相信您希望尝试使用socket.io客户端库连接,而不是使用rxjs原始WebSocket
虽然从laravel echo服务器文档中还不清楚,但项目标题说明它是“laravel echo的Socket.io服务器”。因此我假设您应该使用Socket.io客户端库进行连接。但是我应该使用什么url和协议?这是连接laravel ech中的ws://127.0.0.1:6001
的正确方法吗o docs您似乎不需要指定此选项,只需指定主机和端口。您需要传入io的客户端实例(socket.io client),然后确保指定值为“socket.io”的“广播器”选项。有关更多详细信息,请参阅laravel echo socketio-connector.ts源代码:
export class MyComponent implements OnInit, OnDestroy {
myWebSocket: WebSocketSubject<any> = webSocket('ws://127.0.0.1:6001');
ngOnInit() {
this.myWebSocket.subscribe(
msg => console.log('message received: ' + msg),
err => console.log(err),
() => console.log('complete')
);
}