应用场景 有一些硬件设备(3G模块),注册上之后会去连接服务器,服务端开了一个socket,走的是http协议,$webserver = new WebServer('http://0.0.0.0:8080'); 这些设备连上之后,需要人工操作在前端发送一些指令给设备,需要怎么做?
前台和workerman之间用websocket协议,workerman和设备之间用socket连接 可以使用gatewayWorker去做,开两个端口,一个websocket协议端口与前端连,一个tcp端口与设备连。 业务逻辑都在event.php中写,在这个event.php中可以控制二者通讯,具体参考gatewayWorker手册
多协议支持部分: http://workerman.net/gatewaydoc/advanced/multi-protocols.html
gatewayWorker代码: https://github.com/walkor/GatewayWorker
websoket demo http://www.workerman.net/workerman-chat
gatewayWorker我没用过,在event中的onMessage可以写逻辑,那这边onMessage是否可以同时支持websocket和设备的socket的回调?然后可以向指定的id发送具体消息?
/** * 当客户端发来消息时触发 * @param int $client_id 连接id * @param string $message 具体消息 * @link http://gatewayworker-doc.workerman.net/gateway-worker-development/onmessage.html */ public static function onMessage($client_id, $message) { // 向所有人发送 @see http://gatewayworker-doc.workerman.net/gateway-worker-development/send-to-all.html Gateway::sendToAll("$client_id said $message"); }
支持
谢谢
前台和workerman之间用websocket协议,workerman和设备之间用socket连接
可以使用gatewayWorker去做,开两个端口,一个websocket协议端口与前端连,一个tcp端口与设备连。
业务逻辑都在event.php中写,在这个event.php中可以控制二者通讯,具体参考gatewayWorker手册
多协议支持部分:
http://workerman.net/gatewaydoc/advanced/multi-protocols.html
gatewayWorker代码:
https://github.com/walkor/GatewayWorker
websoket demo
http://www.workerman.net/workerman-chat
gatewayWorker我没用过,在event中的onMessage可以写逻辑,那这边onMessage是否可以同时支持websocket和设备的socket的回调?然后可以向指定的id发送具体消息?
支持
谢谢