https://github.com/walkor/gatewayworker 这上面只有个websoket的例子
搜了一下,但没有找到 gateway模式 与socket.io 一起通信的例子
gateway 和 socket.io是两个相似的服务。 使用其中一个即可,没必要全用上。
进程间/服务器间通讯可以参考 Channel分布式消息通讯组件 http://doc3.workerman.net/component/channel.html
socket.io 单机可以使用,但现在是想用多台socket.io 服务器做负载分担, 这种场景可以用gateway吗?
gateway是可以分布式部署的,但是gateway的分布式和socket.io没有任何关系。
也就是说 如果要支持非websocket客户端(比如ie8) 的聊天需求,是没法用gateway做分布式的 那这种需求,有什么解决方案吗? Channel 这个方案可以解决 非websocket客户端+分布式 这种需求场景吗?
也就是说 如果要支持非websocket客户端(比如ie8) 的聊天需求,是没法用gateway做分布式的 那这种需求,有什么解决方案吗?
前端用web-socket-js库(参考http://www.workerman.net/workerman-chat),低版本浏览器会自动使用flash socket兼容websocket。
Channel 这个方案可以解决 非websocket客户端+分布式 这种需求场景吗?
可以
composer require "workerman/workerman" "workerman/channel" "workerman/phpsocket.io" 安装socket.io和channel以后 php Server.php start 可以启动 但是客户端怎么写?这里要同时处理socket.io连接和 chanel订阅的事件处理 clent.php
<?php use Workerman\Worker; use PHPSocketIO\SocketIO; $io = new SocketIO(8021); $io->on('connection', function($socket)use($io){ $socket->on('chat message', function($msg)use($io){ $io->emit('chat message', $msg); }); }); $worker = new Worker($io); $worker->onWorkerStart = function() { .... .
这样写运行 php client start 报错
gateway 和 socket.io是两个相似的服务。
使用其中一个即可,没必要全用上。
进程间/服务器间通讯可以参考 Channel分布式消息通讯组件
http://doc3.workerman.net/component/channel.html
socket.io 单机可以使用,但现在是想用多台socket.io 服务器做负载分担, 这种场景可以用gateway吗?
gateway是可以分布式部署的,但是gateway的分布式和socket.io没有任何关系。
也就是说 如果要支持非websocket客户端(比如ie8) 的聊天需求,是没法用gateway做分布式的 那这种需求,有什么解决方案吗? Channel 这个方案可以解决 非websocket客户端+分布式 这种需求场景吗?
前端用web-socket-js库(参考http://www.workerman.net/workerman-chat),低版本浏览器会自动使用flash socket兼容websocket。
可以
composer require "workerman/workerman" "workerman/channel" "workerman/phpsocket.io"
安装socket.io和channel以后 php Server.php start 可以启动
但是客户端怎么写?这里要同时处理socket.io连接和 chanel订阅的事件处理
clent.php
这样写运行
php client start 报错