php Laravel Websockets从客户端接收消息

kwvwclae  于 2023-06-04  发布在  PHP
关注(0)|答案(1)|浏览(257)

我想用laravel / node / redis使用websockets建立一个基本的全局(没有房间)聊天。
我遵循了这个教程:http://blog.nedex.io/laravel-5-1-broadcasting-events-using-redis-driver-socket-io/
从laravell发出事件是没有问题的:我有这样的东西

event(new UserJoined('x Joined The Chat'));

这是我的路线

Route::get('/', function () { ... });

到目前为止,这一切都很顺利。这是我的节点服务器:

redis.on('message', function(channel, message) {
  message = JSON.parse(message);

  io.emit(channel + ":" + message.event, message.data);
});

最后是客户部分

socket.on('test-channel:App\\Events\\UserJoined', function(data) {
    console.log( 'User joined', data.username )
});

我现在面临的问题是:当一个用户/客户端发出一些东西时,我可以执行php / laravell代码吗?或者我只能使用node.js服务器吗?
示例:

socket.emit('test-channel:App\\Events\\Message',
  {
    username:username
  }
);

我想得到的消息,不仅对其他“聊天”,但也对我的php后端。

2lpgd968

2lpgd9681#

您需要将PHP应用程序作为客户端与节点服务器连接。所以你的WebSocket php客户端将作为一个单独的示例运行,例如:https://www.piesocket.com/blog/php-websocket
或者你可以将你的node js服务器连接到数据库并直接保存消息

相关问题