我想使用websockets与laravel / node / redis建立基本的全局(无房间)聊天。
我遵循了这个教程: 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后端。