我想用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后端。
1条答案
按热度按时间2lpgd9681#
您需要将PHP应用程序作为客户端与节点服务器连接。所以你的WebSocket php客户端将作为一个单独的示例运行,例如:https://www.piesocket.com/blog/php-websocket
或者你可以将你的node js服务器连接到数据库并直接保存消息