专栏首页云计算搭建你的物联网 : Workerman Tcp 服务器
原创

搭建你的物联网 : Workerman Tcp 服务器

前言

想不想让家里的设备联网?想不想远程控制家里的空调?单身狗想不想一回家就吃到热腾腾的饭菜?除了购买现成的产品,你还可以这样做哦!

为了让设备联网,硬件不能少吧,除了必要的单片机,继电器及其他电路元件以外,能通过wifi上网且又能够简便开发的设备不能少吧?为了解决这个问题,苦苦找了好久,终于找到了这两个芯片。

  • USR-C215 搜索下,发现这是一个WiFi转串口的模块,那么,为了实现让我们的设备上网,这个可不能少!同时这个玩意支持的协议简直不知道高到哪里去了(+1S),详细的话请大家呢参考官方技术资料吧!
  • ESP8266 这个呢,同样也是WiFi转串口,他的好处是网上资料多,推荐初学者使用这个。相关资料详见

以上两个芯片咱们第一期教程暂时不涉及,所以大家先不要着急购买~

正文

那么,废话不多说,今年的主题是Workerman,让我们看看这个东西如何使用。

Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架。被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、异步消息队列等众多高性能组件。(摘自官网

查下资料,咱们的模块支持socket服务,但是该用什么协议呢?为了确保咱们的数据稳定,我建议大家使用TCP协议,今天的教程也是按照TCP协议制作。

workerman运行环境要求

workerman只是一个代码包,如果php环境满足要求,下载后即可使用,实际上没有安装过程,workerman对php环境的要求如下:

  • php版本大于或等于5.3.3 可以运行命令 php -v 查看版本
  • Linux系统要求php安装了posix和pcntl扩展 可以在命令中运行 curl -Ss http://www.workerman.net/check.php | php 检测本地环境是否满足workerman。

如果满足以上条件,请继续

centos/unbutu安装workerman

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通讯,谢谢大家!(懒癌还不知道什么时候写下一期)

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用CentOS7 kvm虚拟机安装蓝鲸社区版(3.15)

    使用C7 kvm虚拟机安装蓝鲸平台 蓝鲸介绍 蓝鲸官网: http://bk.tencent.com/ 蓝鲸社区版本下载:http://bk.tencent.c...

    shaonbean
  • PHP7 新特性简介(一)

    PHP7是PHP编程语言全新的一个版本,在性能方面获得了极大的提升。官方的文档显示,PHP7可以达到PHP5.x版本两倍的性能。同时还提供了很多其他语言流行的语...

    郑科
  • CentOS 7 配置php语言开发环境

    CentOS 7 配置php语言开发环境 初始化设置参考:http://blog.csdn.net/wh211212/article/details/5292...

    shaonbean
  • 智能云上手指南:如何使用腾讯云开放的图片鉴黄能力?

    今天,腾讯云发布2017战略新品——智能云,对于普通开发者而言,现在可以通过腾讯云开发者实验室0门槛体验优图鉴黄等AI能力。

    云加社区专栏
  • 【腾讯云的1001种玩法】AMH 4.2 升级Nginx与PHP实战练习与笔记

    最近对AMH的系统比较感兴趣,特拿来了AMH 4.2来尝试下对其内核版本升级一下,并做了笔记供需要的同学参考。前几天在对张宁网进行更新改版,配置SSL的时候碰见...

    张宁
  • Deprecated: Methods with the same name as their class will not be constructors in a future version o

    <?php class Car { var $color = "add"; function Car($color="green") { ...

    CN_Simo
  • EduSoho程序上线实录

    1.1 修改配置文件 [root@web01 nginx]# cat /application/nginx/conf/extra/edusoho.conf s...

    惨绿少年
  • 【 开源公告 】基于协程和 swoole 驱动的高性能 PHP 框架 TSF 正式开源

    TSF是一套基于协程和 swoole 驱动的高性能 PHP 框架,可以帮助开发者快速开发和部署具备高 IO 吞吐能力的 HTTP/TCP/UDP 服务。

    腾讯开源
  • 探索 PHP 与 Vue 通用直出模板方案

    我们通常说的“页面直出”,其实就是服务端渲染(SSR, Server-Side Render)。最初的 JS SPA 方案有个常见的问题,就是脚本没有加载执行完...

    贤羽
  • PHP模拟发送POST请求之五curl基本使用和多线程优化

    今天来介绍PHP模拟发送POST请求的重型武器——cURL函数库的使用和其多线程的优化方法。 说起cURL函数,可谓是老生常谈,但网上许多资料都在关键部分语焉不...

    枕边书

扫码关注云+社区

领取腾讯云代金券