1、新建一个客户端

这里创建的是同步客户端,异步客户端有实际项目的时候在去讲解

代码如图所示:

swoole的client代码很简单,注释当中写的非常清楚,我们看到,客户端无非就是创建一个socket对象,然后指定ip和端口,连接server,随后向server发送了一段数据,而后接收server的数据并输出,最后关闭连接。

2、同步异步概念

swoole是既支持全异步,也支持同步,同步跟异步的概念,我们需要了解

同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式。

同步: 当一个同步调用发出去后,调用者要一直等待调用结果的通知后,才能进行后续的执行。

异步:当一个异步调用发出去后,调用者不能立即得到调用结果的返回。

生活中的例子

同步买奶茶:小明点单交钱,然后等着拿奶茶;

异步买奶茶:小明点单交钱,店员给小明一个小票,等小明奶茶做好了,再来取。

3、客户端与服务端通讯:

治疗下颈椎病

启动服务端运行:

客户端:

从结果中可以看出,客户端输入xxx,服务端就会直接返回 Server xxx,这正是我们在服务器代码的Receive回调方法中调用$serv->send方法发送给客户端的数据。而且在server启动的窗口下,也有我们在connect回调打印的信息。

在整个过程中,swoole server提供了类似web服务器的功能,监听端口,做出响应。此外,swoole还提供了一套对socket客户端的封装。

想要获取更多精彩资料+ 私人微号:Alicemiss6 不管你是小白还是码农更甚大牛,我都十分欢迎,不定期分享干货,以及我们最新的 PHP项目、swoole资料教程,静候各位来学习~

下一节我们就结合task,跟异步client客户端完成一个案例

最新Swoole4.0深入学习-与client的初相遇相关推荐

  1. 资源|2019 年 11 月最新《TensorFlow 2.0 深度学习算法实战》中文版教材免费开源(附随书代码+pdf)...

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送 2019 年 10 月,谷歌正式宣布,开源机器学习库 TensorFlow 2.0 现在 ...

  2. 从0开始学习GitHub系列之「向GitHub 提交代码」

    DevStore首页 >文章 >文章详情 从0开始学习GitHub系列之「向GitHub 提交代码」 糖果果| 2016-06-15 10:57    浏览量(500)    评论(1) ...

  3. IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API

    IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...

  4. “寓教于乐”,DeepMind新研究让机器人从0开始学习复杂精细动作

    夏乙 编译自 DeepMind blog 量子位 出品 | 公众号 QbitAI 别小看这个笨拙地抓起.移动着物体的机器人,它可是DeepMind的最新研究成果. 有什么特别之处呢?这个机械臂可是在现 ...

  5. TensorFlow 2.0深度学习案例实战

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 基于TensorFlow 2.0正式版, 理论与实战结合,非常适合入门学习! 这是一本面向人工 ...

  6. 从0开始学习 GitHub 系列之「04.向GitHub 提交代码」----转载自stormzhang 原创文章

    之前的这篇文章「从0开始学习 GitHub 系列之「Git速成」」相信大家都已经对 Git 的基本操作熟悉了,但是这篇文章只介绍了对本地 Git 仓库的基本操作,今天我就来介绍下如何跟远程仓库一起协作 ...

  7. 【ThreeJS基础教程】0.在学习使用ThreeJS之前

    [ThreeJS基础教程]0.在学习使用ThreeJS之前 什么人适合学习ThreeJS 什么人不建议学习ThreeJS或学起来比较累 了解ThreeJS ThreeJS文档在哪 关于<Thre ...

  8. 2023 Data数据分析岗前景如何?0基础学习数据分析成功上岸,3个月掌握令人惊叹的sql能力!...

    Date数据分析师的发展路线! 从事数据分析相关工作,按职业发展方向大致分为两类. [1]业务路线:业务分析--数据分析师--部门leader--管理高层 一般在大中型企业为业务持续增长带来价值,比如 ...

  9. 大数据学习系列:Hadoop3.0苦命学习(一)

    传送门: 大数据学习系列:Hadoop3.0苦命学习(一) 大数据学习系列:Hadoop3.0苦命学习(二) 大数据学习系列:Hadoop3.0苦命学习(三) 大数据学习系列:Hadoop3.0苦命学 ...

最新文章

  1. Java元组Tuple使用实例--转载
  2. android自定义抽奖,Android自定义view制作抽奖转盘
  3. Codeforces Round #183 (Div. 2)
  4. [转:作者: 出处:javaresearch ]选择JSF不选Struts的十大理由
  5. mybatis动态更新xml文件后热部署,不重启应用的方法
  6. 一个风骚的C语言操作
  7. Windows核心编程条件变量
  8. windbg查询内存泄笔记
  9. CSS语法规范(CSS、HTML)
  10. 【C语言】指向一维数组元素的指针
  11. shell手册--笨鸟杰作
  12. react上传文件转base64
  13. 运维学习部分基础知识概括
  14. Java数字图像处理基础-------图像二值化处理
  15. 贴片电阻系列命名标准
  16. 双向可控硅晶片光耦(TLP160J TLP260J TLP525G)基本原理及应用实例
  17. centos7 yum 配置阿里云镜像
  18. JDK命令八、NMT 和 pmap本地内存分析神器
  19. Redis——发布/订阅
  20. 功能安全b等级_安全B端会议吸引了越来越多的信息安全人群

热门文章

  1. c语言输出斐波那契数列pta,从斐波那契数列说起
  2. java入门-2-【入门】已知一个圆的半径,求解该圆的面积和周长 【运算符】
  3. 气垫床的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. 微信打开链接出现“已停止访问该网页”怎么解决?Mindjump完美解决该问题
  5. img 图片加载错误时显示默认图片
  6. android material design icon generator,傻瓜式 Material Design 风格矢量图标生成器
  7. UVa 10566 - Crossed Ladders
  8. 使用深度学习模型创作动漫故事,比较LSTM和GPT2的文本生成方法
  9. Ubuntu18.04安装g2o遇到的坑-TARGETS given no ARCHIVE DESTINATION for static library target
  10. springcloud高可用方案