server接收dtu透传代码_Swoole学习笔记二:初探server与client(Client同步)
1、搭建server.php代码
<?php
//创建Server对象,监听 127.0.0.1:9501端口
$serv = new swoole_server("127.0.0.1", 9501);
//监听连接进入事件
$serv->on('connect', function ($serv, $fd) { echo "Client: 客户端握手成功.n";
});
//监听数据接收事件
$serv->on('receive', function ($serv, $fd, $from_id, $data) {echo 'Client:接收到客户端发送过来的数据包:'.$data."n";// 这里使用send,反推回去$serv->send($fd, "Server: ".$data);
});
//监听连接关闭事件
$serv->on('close', function ($serv, $fd) {echo "Client: 客户端主动断开连接.n";
});
//启动服务器
$serv->start();
2、搭建client.php代码
<?php
//打开同步socket
$client = new swoole_client(SWOOLE_SOCK_TCP);
//连接到服务器
if (!$client->connect('127.0.0.1', 9501, 0.5)) {die("服务端连接握手成功.");
}
//向服务器发送数据
if (!$client->send("小黄牛真他妈帅!")) {die("数据包发送成功.");
}
//从服务器接收数据
$data = $client->recv();
if (!$data) {die("没接收到服务端返回的信息");
}
echo $data;
//关闭连接
$client->close();
3、进行demo测试
这里注意,我们需要开启两个cmd命令界面,分别使用cd
命令进入到server.php
和client.php
文件的所在目录下。
然后先在第一个命令行中使用:php server.php
启动服务端代码
再到第二个命令行中使用命令启动客户端代码,发送一次握手请求进行测试:php client.php
php启动客户端代码
我们就可以看到以下结果了:
最后推荐大家可以用下我开源的一个基于Swoole4.5+研发的PHP框架。该框架基于注解实现了很多好玩的功能,很适合新人快速上手Swoole扩展。
SW-X框架-专注高性能便捷开发而生的PHP-SwooleX框架www.sw-x.cn
server接收dtu透传代码_Swoole学习笔记二:初探server与client(Client同步)相关推荐
- server接收dtu透传代码_ESP8266 STM32 HTTP json透传实验
关于如何建立一个HTTP的虚拟测试桩的方法如下,通过SoapUI建立一个HTTP测试桩,用来模拟远端HTTP服务器. https://blog.csdn.net/russ44/article/deta ...
- server接收dtu透传代码_Gopher2020大会干货总结:代码技巧篇
Gopher2020大会已经结束了几天,圈内大牛的分享可谓干货满满,分享内容涉及到诸多的业务.框架.理念等,本文系会后粗略整理,主要是将一些干货内容总结.分类:本文内容不涉及业务.框架以及设计理念,整 ...
- server接收dtu透传代码_深入ASP.NET Core源代码之 - Web Server Kestrel
测试代码运行环境: OS:Ubuntu 18.04 64bit .NET Core SDK Version: 3.1.101 源代码版本:release/3.1 Kestrel的本质 - Web Se ...
- 步步为营 .NET 代码重构学习笔记 二、提炼方法(Extract Method)
动机(Motivation) Extract Method是我们最常用的重构手法之一.当我们看见一个过长的函数或一段需要注释才能让人理解用途的代码,我们就会将这段代码放进一个独立函数中. 有数个原因造 ...
- 步步为营 .NET 代码重构学习笔记 九
步步为营 .NET 代码重构学习笔记系列 步步为营 .NET 代码重构学习笔记 一.为何要代码重构 步步为营 .NET 代码重构学习笔记 二.提炼方法(Extract Method) 步步为营 .NE ...
- 步步为营 .NET 代码重构学习笔记 十一
步步为营 .NET 代码重构学习笔记系列 步步为营 .NET 代码重构学习笔记 一.为何要代码重构 步步为营 .NET 代码重构学习笔记 二.提炼方法(Extract Method) 步步为营 .NE ...
- 步步为营 .NET 代码重构学习笔记 十
步步为营 .NET 代码重构学习笔记系列 步步为营 .NET 代码重构学习笔记 一.为何要代码重构 步步为营 .NET 代码重构学习笔记 二.提炼方法(Extract Method) 步步为营 .NE ...
- 4g dtu透传模块
4g dtu透传模块,是一款支持双向透明传输的产品,用户使用无需关心复杂的协议,产品为双向透传,只需要简单配置即可.同时产品为4G全网通,支持国内全部运营商网络,通讯模组采用CTA1系列模组,高性价比 ...
- Vue学习(组件传参)-学习笔记
文章目录 Vue学习(组件传参)-学习笔记 父到子 子到父 父操作子-ref(类似于操作dom) 兄弟之间传参 Vue学习(组件传参)-学习笔记 父到子 Father:(index) <temp ...
最新文章
- 【转】K-SVD简述——字典学习,稀疏编码
- 简明Python3教程 10.模块
- 你好,C++(18) 到底要不要买这个西瓜?4.1.6 操作符之间的优先顺序
- java中的math.abs_Java abs() 方法
- 学python有必要买书吗-要不要学python
- c++ 嵌套私有类_嵌套类和私有方法
- 亚马逊狂发智能硬件新品:全新音箱、微波炉、挂钟、家庭卫士
- vulkan 利用GPU加速ENet
- 传感器技术—新型光电传感器(学习笔记十 补充)
- android修行之路----经典书籍
- 如何将图片格式转换为ico格式?
- 轨物范世:华为手机的影像哲学
- CSS3属性详解:动画详解
- NEXUS私服迁移内网(不能百度的那种)、NEXUS私服移植
- Keepalived Nginx 类型效劳下高结实Linux系统计划
- idea springboot项目修改代码后刷新启动,不用重新启动
- 3.4 利用Pandas进行数据清洗和数据规整化
- SQL Server 数据库(高级)完结篇
- 我的Java开发学习之旅------Java资源的国际化详解
- fiddler监控手机端https请求显示tunnel to ......443