异步通信你了懂吗?

摘要

今天seo就给大家介绍异步通信的文章,看完这篇文章相信你对异步通信概念更加了解异步通信(异步通信概念)网行业膨胀的12-16年,PHP语言凭借自身易上手,开发周期短的优势,深受各

今天seo就给大家介绍异步通信的文章,看完这篇文章相信你对异步通信概念更加了解!

异步通信

网行业膨胀的12-16年,PHP语言凭借自身易上手,开发周期短的优势,深受各中小企业的喜爱。小编也很荣幸在2009年底进入这一行业,为自己谋生分得一杯羹。但是PHP又先天有它的局限性,导致客户很多需求无法得到满足。

异步通信你了懂吗?

大家都知道,PHP现有的应用方式都是基于http的,对于需要快速实时响应的场景比较乏力,比如网络游戏又或者聊天工具之类的推送服务,一般都需要与用户长期保持一个TCP连接以便于实时响应和推送信息。在Swoole出现以前,这个问题一直是PHPER难以逾越的难题,甚至很多PHP开发者都纷纷转行投向java,Python的怀抱。让我这个仍然坚持PHP阵营的小伙伴甚是孤独。

接下来,我们来说说Swoole,看看它给PHPER带来怎样的解决方案。

Swoole是一个面向生产环境的PHP异步网络通信引擎,使PHP开发人员编写高性能的异步并发TCP、UDP、UnixSocket、Http、WebSocket服务。Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域,使用PHP+Swoole作为网络通信框架。

Swoole虽然是标准的PHP扩展,但它与普通扩展有着本质上的区别,普通扩展只是提供一个函数库,而Swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后底层会自动回调指定的PHP函数。

Server

强大的TCP/UPD Server框架,支持多线程,EventLoop,事件驱动,异步,Worker进程组,Task异步任务,毫秒定时器,SSL/TLS隧道加密。

HTTP\Server是Server的子类,内置了Http的支持;

WebSocket\Server是HTTP\Server的子类,内置了WebSocket的支持;

Redis\Server是Server的子类,内置了Redis服务器协议的支持。

Client

TCP/UDP/UnixSocket客户端,支持IPV4/IPV6,支持SSL、TLS隧道加密,支持SLL双向证书,支持同步并发调用,支持异步事件驱动编程。

Coroutine

Swoole在2.0开始内置协议(Coroutine)的能力,提供了具备协程能力IO接口。

协程能力可以理解为纯用户态的线程,其通过协作而不是抢占来切换。相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低。Swoole可以为每一个请求创建对应协程,根据IO的状态来合理调度协程。

Process

进程管理模块,可以方便地创建子进程,进程间通信,进程管理

Table

基于共享内存和自旋锁实现的超高性能内存表。彻底解决线程、进程间数据共享,加锁同步等问题。

Event

EventLoop API,让用户可以直接操作底层的时间循环,将Socket,Stream,管道等Linux文件加入到事件循环中。

支持的版本:PHP 5.3+

支持的数据库:MySQL、DB2、Oracle、MS SQL SERVER、ODBC等主流数据库

支持的运行方式:Web、Cli命令脚本、PHP-GTK GUI

那么作为PHP程序员的你,是否还会继续坚守自己的阵营呢?

欢迎评论区留言,有讲得不好或者不对的地方也欢迎大家补

异步通信概念

  • 异步通信你了懂吗?已关闭评论
  • 6 views
    A+
发布日期:2021年09月14日 10:00:00  所属分类:知识经验
标签: