150-1924-0507

怎么用PHP实现网页与远程服务器TCP交互

2019年08月04日 16:23  千赋科技 

  最近参与了一个物联网的项目,场景:有多台设备通过tcp与服务器连接,要求客户在远程用网页对设备进行管理。网页不直接控制硬件,而是将服务器当成一个中转站。网页发出指令,送到服务器,服务器再将这些指令送到相应的设备,反之亦然,设备将指令发送至服务器,服务器再将设备指令推送到网页。

TCP交互

图片有点丑,将就看哈

  笔者负责网页端与远程服务器交互。因为指令的传送要求快速、即时,所以笔者选用的基本构架是php+socket+redis。经过两天的时间,基本流程已经实现,网页端与服务端做到了实时交互。下面就把基本思路写一下,希望能起到抛砖引玉的作用。

  实现方案:

  1、网页端通过websocket与PHP后台交互;

  2、后台可使用swoole或workerman,我这里使用workerman;

  3、将网页端收到的指令存入缓存(redis键client。缓存可采用本地缓存或redis,速度上差不多。这里选用redis,方便运用队列和将来升级);

  4、将缓存client值,通过php扩展 socket 传到远程服务器(socket_write);

  5、接收远程服务器的指令(socket_read),存入缓存(redis键server);

  6、将缓存过的server值,即远程服务器的指令,传到网页端;

  7、反过来是一样的,远程服务端的指令,可即时推送到网页端。

PHP实现网页与远程服务器TCP交互

  另外在网上看到一个用PHP实现网页直接操作硬件串口的基本思路:实现方案:

  1.网页端通过websocket与php后台服务交互;

  2.php后台接收指令操作串口,发送16进制指令给硬件设备;

  3.php后台将硬件设备返回值通过websocket,传递给网页端;

  4.网页端接收推送消息,显示在页面上。


标签 :TCP交互
上一篇 7个不注意用户体验的网站建设会让网站效果打折
下一篇 html5和微信小程序切图的区别

声明:本文内容由深圳市千赋科技有限公司原创或者通过网络收集编辑所得,所有资料仅供用户参考;对收集的资料本站不拥有所有权,也不承担相关法律责任。如您认为本网页中有涉嫌侵权的内容,请及时与我们联系,并提供相关证据,工作人员会在5个工作日内联系您,一经查实,本站将立刻删除涉嫌侵权内容。

相关文章 Related articles
服务热线

150-1924-0507

网站建设公司 www.me345.com 粤ICP备15080528号-1

Copyright© 2008-2019 深圳市千赋科技有限公司 版权所有

博聚网