现在做一个车牌收费系统

var_dump

我想到的是 扫码跳转连接到相应的页面然后提交车牌,把数据发送到后台,通过stream_socket_clien() 发送到对应的正在连接车牌的客户端,然后客户端返回相应的数据,可是客户端返回的数据是在它自己连接的进程上,我如何去开发比较好呢,他们说双向通讯来搞,可是没有思路呀

1899 1 0
1个回答

blogdaren

结合你另一帖一起合并回复下,参考思路:
1、gatewayclient如何使用? 详见手册: https://github.com/walkor/GatewayClient
2、你这个案例涉及双向通讯,我认为用GatewayWorker框架就很适合,比如可以仿 start_gateway.php 新开一个专用的 proxy worker:$gateway = new Gateway("text://0.0.0.0:9999");
$gateway->name = 'proxyWorker';
$gateway->lanip = '内网IP';
$gateway->startPort = '最好和之前的gateway内部端口区分开';
.............3、扫描车牌后推送消息到特定的proxy worker 即可,所有的业务逻辑围绕Events.php扩展实现。
4、其中一个业务细节主要就是处理 $client_id 与  车设备ID的对应关系。
5、另 GatewayClient 并不适合你这个场景,因为GatewayClient只能单向推送消息。

  • var_dump 2018-12-26

    现在是车牌识别上传的系统已经有了,是用workerman的tcp协议与厂家的车牌识别系统(客户端)连接上了,比如现在是扫码进入到网页,psot提交车牌后,下发车牌号码到车牌识别系统(客户端)->客户端返回相应的价格,可是客户端与自己下发的数据不是一个进程上,车牌客户端进来我存的uid是车场id,那从页面访问workerman服务器存什么id好呢

  • blogdaren 2018-12-26

    @5030: 问题描述总是感觉缺点什么,既然选择是使用workerman作为通信框架,【客户端与自己下发的数据不是一个进程上?是两个客户端要通讯吗?】,如果客户端彼此之间需要通信,那就得自己定制进程模型【gatewayworker则是现成的无需关心】,因为涉及到进程间的通讯,这个手段有很多:使用官方 globaldata组件、redis等等,至于业务自己梳理吧。

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