在物联网控制远程硬件的过程中,实时通信是必不可少的。不用实时通信可不可以呢?当然是可以的,但在实际应用中的体验可能就十分的不好了。

试想一下,一个联网电灯,控制端命令发出去,电灯要2到3秒钟以后才能开关。这种体验实在太差劲了。

那么我们该如何实现实时通讯呢?

最常用的一种就是Websocket。后端能实现websocket的语方很多,例如Node.js,Go,Python,dotnet core,java。

websocket与http的区别

当然php也可以做到,只是要依赖这篇要展开说的Workerman。

workerman是一个高性能的PHP socket 服务器框架。

小智选择Workerman的理由不仅是因为它的性能不错,终其原因是:作为PHP开发者之一的我,workerman布署简单,学习成本低是最主要的原因。

说到workerman同学们可能会说swoole也很不错。没错swoole也是个好东西,小智会开专文来讲述它的。

好了,现在我们开始进入正题,如何使用workerman创建属于自己的websocket服务器。

1.下载workerman

workerman可以到基友站下载,也可以在其官方直接下载。

下载workerman

这里我们在官方网站直接下载,得到一个zip包。

2.部署workerman并编写test.php

解压刚刚下载的zip包到C盘根目录下。

进入workerman-master目录,然后新建一个test.php,内容如下:

<?phpuse Workerman\Worker;require_once __DIR__ . '/Autoloader.php';// 创建一个Worker监听2345端口,使用http协议通讯$http_worker = new Worker("websocket://0.0.0.0:2345");// 启动4个进程对外提供服务$http_worker->count = 4;// 接收到浏览器发送的数据时回复hello world给浏览器$http_worker->onMessage = function($connection, $data){var_dump($data);// 向浏览器发送hello world$connection->send('hello world');};Worker::runAll();

3.调试test.php

运行命令行工具并进入c:\workerman-master目录,输入命令php test.php start

运行结果

看到这样的画面,就证明websocket服务器已经成功建立。接下来我们来测试一下。

测试websocket服务器是否正常

从上图可以看出,我们的websocket服务器是正常的,能够收到消息,也能回复消息到客户端。

workman php教程_workerman搭建websocket入门教程,简单实用相关推荐

  1. linux宝塔搭建网站,宝塔Linux面板搭建网站入门教程五(宝塔Linux面板安装WordPress博客程序)...

    本文于 2021-04-01 00:04 更新,本文內容具有時效性,如有失效,請在博客站內搜相關商家名稱,即可查看到關於此商家的最新優惠活動! 國外商家建議使用"谷歌瀏覽器"訪問, ...

  2. 51自学网AutoCAD2014室内设计 AutoCAD2009施工图教程 CAD布局及规范作图教程 室内手绘入门教程...

    我要自学网平面设计 计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程  我要自学网Excel函数应用教程 Excel VBA基础教程 ...

  3. 动漫人物透视教程,透视画法入门教程

    动漫人物透视教程,透视画法入门教程!今天分享的是有关动漫人物透视教程的资源,包含动漫人物透视教程教程.动漫人物透视教程图片素材两个部分,学习动漫人物透视教程的时候,一定要多练,下面开始咱们的动漫人物透 ...

  4. html+css+小图标,HTML+CSS入门 一个简单实用的CSS loading图标

    本篇教程介绍了HTML+CSS入门 一个简单实用的CSS loading图标,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门.< 在web开发中,为了提高用户体验,在加载数据的时 ...

  5. 什么是python基础教程-最好的Python入门教程是?

    Python教程领到手,学习不用愁!领! 作为一门编程语言,Python是属于入门比较简单的.所以身边不少人都选择了自学Python,而且网上相关资料也有很多,知识兔分享大量的Python教学课程,基 ...

  6. python爬虫教程下载-Python爬虫入门教程!手把手教会你爬取网页数据

    其实在当今社会,网络上充斥着大量有用的数据,我们只需要耐心的观察,再加上一些技术手段,就可以获取到大量的有价值数据.这里的"技术手段"就是网络爬虫.今天就给大家分享一篇爬虫基础知识 ...

  7. python语言入门教程-菜鸟学Python入门教程大盘点|7个多月的心血总结

    原标题:菜鸟学Python入门教程大盘点|7个多月的心血总结 阅读本文大概需要5分钟 菜鸟学python已经写了70几篇,入门的教程已经快写完了,我把入门的文章整理了一下,下面是入门篇的一些总结,也是 ...

  8. c语言入门教程文库,C语言入门教程(全集)课件

    C语言入门教程(全集)课件 01123364105 Y N p AB X=0? YN P1 A A P2 a a b b Y Y N N y n A B P A A B X=0? 3 a97 3 U ...

  9. php class类 教程,PHP类(Class)入门教程第2/2页

    用正确的小汽车对象学习和熟悉类的概念 很多书讲到类总喜欢拿小汽车来做例子,但是有些例子实在是又臭又烂误人子弟,骗人钱财,毁人前程,弱智低级到瞎编一个什么 set_color()函数来教人.实在是白白糟 ...

最新文章

  1. 用Cordova打包Vue-vux项目
  2. Spring MVC常用注解说明
  3. 实现gps与服务器通信协议,一种自适应GPS通信协议分析算法的设计与实现
  4. mysql语句_Mysql语句
  5. sqli-labs第一关(MySql基础)
  6. python apply_async数据量大不执行_apply_async里面的函数不执行
  7. pmbook 知识领域 第六版_PMP项目管理10大知识领域脑图
  8. 【Linux】- 守护进程的启动方法
  9. 主机关机后第二天就无法开机_iphone没电自动关机后无法充电和开机的解决办法!(亲身经历)...
  10. Hive小文件问题:如何产生、造成影响、解放办法
  11. 属于attribute还是property。
  12. [Linux] 使用 SCP 指令,讓您傳送檔案至遠端、下載檔案
  13. 脏写 脏读 不可重复读 幻读 读偏差 写偏差 丢失更新 示例
  14. python 常用简单代码
  15. matlab有限元分析程序,matlab有限元分析与应用(书及源程序)
  16. oracle 设置 锁模式,oracle表锁的几种模式v$locked_object-locked_mode
  17. 新版标准日本语初级_第三十九课
  18. 矩形波 matlab,Matlab的方波函数
  19. 谷歌面试题:两个玻璃球摔碎的楼层高度
  20. 什么是互联网营销?看一篇这就够了

热门文章

  1. 关于前端开发 Framework Agnostic 和微前端的话题
  2. SAP Fiori Service Modeler
  3. SSR rendering exceeded timeout 3000, fallbacking to CSR for
  4. Chrome开发者工具使用console.trace的一个小技巧
  5. SAP Spartacus B2B页面的BodyContent position
  6. Angular Injection Token records map的填充原理
  7. 如何使用Gradle外部脚本进行项目构建
  8. 如何使用SAP Intelligent Robotic Process Automation自动操作Excel
  9. 3d button - where is OS type and version detected
  10. SE81 - Application hierarchy CSS component tree