@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方法。
多谢指正!
1236端口不是给客户端连的。
其它看看手册吧,手册讲的很明白。如何在其它项目中利用GatewayWorker推送消息给浏览器。
http://www.workerman.net/gatewaydoc/advanced/push.html
看了手册终于明白!谢谢
不客气