项目如何与workerman-chat通信?

osacar

@walkor
在做一个商城项目。
项目中使用了workerman-chat这个项目,现在有一个需求。
就是当有客户下订单后,直接将订单简要信息当作聊天信息发送给客户与商家。
写了一段代码,但是测试不成功。
提示:Bad request for Gateway Service. If you are a client please connect Gateway. Request info(IP:127.0.0.1, Request Buffer:{聊天信息省略})

代码如下:

$socket = stream_socket_client("tcp://127.0.0.1:1236", $errno, $errmsg, 5);
if(!$socket) echo $errmsg;
$message_data = array(
                    'type'=>'say', 
                    'from_client_id'=>'10000000002',
                    'from_client_name' =>'机器人',
                    'to_client_id'=>'all',
                    'content'=>'下单成功,订单号:'.time(),
                    'time'=>date('Y-m-d H:i:s'),
                );
$mail_buffer = json_encode($message_data)."\n";
fwrite($socket, $mail_buffer);

将端口tcp://127.0.0.1:1236改为tcp://127.0.0.1:7272后可以连上Gateway,但是直接执行了onClose方法。

多谢指正!

2599 1 0
1个回答

walkor

1236端口不是给客户端连的。
其它看看手册吧,手册讲的很明白。如何在其它项目中利用GatewayWorker推送消息给浏览器。
http://www.workerman.net/gatewaydoc/advanced/push.html

年代过于久远,无法发表回答
🔝