Fra*_*ost 7 php redis node.js socket.io laravel
我想使用websockets与laravel / node / redis建立一个基本的全局(无房间)聊天。
我遵循了本教程:http : //blog.nedex.io/laravel-5-1-broadcasting-events-using-redis-driver-socket-io/
从拉拉维尔发出事件没问题:我有这样的事情
event(new UserJoined('x Joined The Chat'));
Run Code Online (Sandbox Code Playgroud)
这是我的路线
Route::get('/', function () { ... });
Run Code Online (Sandbox Code Playgroud)
到目前为止,此方法运行良好。这是我的节点服务器:
redis.on('message', function(channel, message) {
message = JSON.parse(message);
io.emit(channel + ":" + message.event, message.data);
});
Run Code Online (Sandbox Code Playgroud)
最后是客户部分
socket.on('test-channel:App\\Events\\UserJoined', function(data) {
console.log( 'User joined', data.username )
});
Run Code Online (Sandbox Code Playgroud)
我现在面临的问题是:当用户/客户端发出某些东西时,我可以执行php / laravell代码吗?还是只能为此使用node.js服务器?
例:
socket.emit('test-channel:App\\Events\\Message',
{
username:username
}
);
Run Code Online (Sandbox Code Playgroud)
我希望不仅将消息发送给其他“ chatter”,而且还发送给我的php后端。
小智 0
您需要将 PHP 应用程序作为客户端连接到节点服务器。因此,您的 websocket php 客户端将作为单独的实例运行,例如: https: //www.piesocket.com/blog/php-websocket
或者您可以将 Node js 服务器连接到数据库并直接保存消息
| 归档时间: |
|
| 查看次数: |
584 次 |
| 最近记录: |