想不想让家里的设备联网?想不想远程控制家里的空调?单身狗想不想一回家就吃到热腾腾的饭菜?除了购买现成的产品,你还可以这样做哦!
为了让设备联网,硬件不能少吧,除了必要的单片机,继电器及其他电路元件以外,能通过wifi上网且又能够简便开发的设备不能少吧?为了解决这个问题,苦苦找了好久,终于找到了这两个芯片。
以上两个芯片咱们第一期教程暂时不涉及,所以大家先不要着急购买~
那么,废话不多说,今年的主题是Workerman,让我们看看这个东西如何使用。
Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架。被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、异步消息队列等众多高性能组件。(摘自官网)
查下资料,咱们的模块支持socket服务,但是该用什么协议呢?为了确保咱们的数据稳定,我建议大家使用TCP协议,今天的教程也是按照TCP协议制作。
workerman只是一个代码包,如果php环境满足要求,下载后即可使用,实际上没有安装过程,workerman对php环境的要求如下:
如果满足以上条件,请继续
centos系统安装教程
yum install php-cli php-process git gcc php-devel php-pear libevent-devel
pecl install channel://pecl.php.net/libevent-0.1.0
提示
libevent installation [autodetect]:
时按回车
echo extension=libevent.so > /etc/php.d/libevent.ini
git clone https://github.com/walkor/workerman
centos安装workerman完成
debian/ubuntu系统安装教程(如果不是root用户请用sudo 后面加命令)
apt-get install php5-cli git gcc php-pear php5-dev libevent-dev
pecl install channel://pecl.php.net/libevent-0.1.0
提示
libevent installation [autodetect]:
按回车
echo extension=libevent.so > /etc/php5/cli/conf.d/libevent.ini
git clone https://github.com/walkor/workerman
ubuntu安装workerman完成
安装完成之后呢,接下来打开tcp服务器,怎么打开呢?请向下观看。
创建tcp_test.php
<?php
use Workerman\Worker;
require_once './Workerman/Autoloader.php';
// 创建一个Worker监听2347端口,不使用任何应用层协议
$tcp_worker = new Worker("tcp://0.0.0.0:2347");
// 启动4个进程对外提供服务
$tcp_worker->count = 4;
// 当客户端发来数据时
$tcp_worker->onMessage = function($connection, $data)
{
// 向客户端发送hello $data
$connection->send('hello ' . $data);
};
// 运行worker
Worker::runAll();
运行
php tcp_test.php start
显示
telnet 127.0.0.1 2347
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
tom
hello tom
这样,一个tcp的服务器就搭建完成了!下一期,我会给大家带来模块和计算机的tcp通讯,谢谢大家!(懒癌还不知道什么时候写下一期)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。