首页 > 其他 > 详细

swoole学习

时间:2020-02-01 18:00:15      阅读:79      评论:0      收藏:0      [点我收藏+]

Swoole的一些特点:

  • Accept线程,解决Accept性能瓶颈和惊群问题
  • 多IO线程,可以更好地利用多核
  • 提供了全异步和半同步半异步2种模式
  • 处理高并发IO的部分用异步模式
  • 复杂的业务逻辑部分用同步模式
  • 底层支持了遍历所有连接、互发数据、自动合并拆分数据包、数据发送原子性。

Swoole的进程/线程模型:

技术分享图片

Swoole程序的执行流程

技术分享图片

使用PHP+Swoole扩展实现异步通信编程

实例代码在https://github.com/swoole/swoole-src 主页查看。

 

TCP服务器与客户端

异步TCP服务器:

技术分享图片

 

在这里new swoole_server对象,然后参数传入监听的HOST和PORT,然后设置了3个回调函数,分别是onConnect有新的连接进入、onReceive收到了某一个客户端的数据、onClose某个客户端关闭了连接。最后调用start启动服务器程序。swoole底层会根据当前机器有多少CPU核数,启动对应数量的Reactor线程和Worker进程。

技术分享图片

 

客户端的使用方法和服务器类似只是回调事件有4个,onConnect成功连接到服务器,这时可以去发送数据到服务器。onError连接服务器失败。onReceive服务器向客户端连接发送了数据。onClose连接关闭。

设置完事件回调后,发起connect到服务器,参数是服务器的IP,PORT和超时时间。

 同步客户端:

技术分享图片

 

同步客户端不需要设置任何事件回调,它没有Reactor监听,是阻塞串行的。等待IO完成才会进入下一步。

 

swoole学习

原文:https://www.cnblogs.com/zh718594493/p/12248904.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!