欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

swoole 教程 入门指引 文档Primary tabs

入门指引

Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。

Swoole要求使用者必须具备一定的Linux/Unix环境编程基础,《学习Swoole需要掌握哪些基础知识》 本文列出了基础知识清单。

swoole_server

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

  • swoole_http_serverswoole_server的子类,内置了Http的支持

  • swoole_websocket_serverswoole_http_server的子类,内置了WebSocket的支持

  • swoole_redis_serverswoole_server的子类,内置了Redis服务器端协议的支持

子类可以调用父类的所有方法和属性

swoole_client

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

swoole_event

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

eventloop接口仅可用于socket类型的文件描述符,不能用于磁盘文件读写

swoole_async

异步IO接口,提供了 异步文件系统IO,定时器,异步DNS查询,异步MySQL等API,异步Http客户端,异步Redis客户端。

  • swoole_timer 异步毫秒定时器,可以实现间隔时间或一次性的定时任务

  • swoole_async_read/swoole_async_write 文件系统操作的异步接口

swoole_process

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

swoole_buffer

强大的内存区管理工具,像C一样进行指针计算,又无需关心内存的申请和释放,而且不用担心内存越界,底层全部做好了。

swoole_table

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

swoole_table的性能可以达到单线程每秒读写100W次

  • 原来微博的昵称真的可以好长好长


    牛逼,我想知道 有没有基于这些特性封装好的框架、工具集? 这个如果有的话,是可以直接拿来用,并极大提高工作效率、性能的。


  • 多多


    这种异步的,基于tcp的,更多的是实时应用,例如游戏服务器,用框架显得累赘


  • 原来微博的昵称真的可以好长好长


    好吧~~ 游戏服务器确实很适合用这个~ 特别是PHPer用。。 爽爆了~


  • 杰乐


    swoole是个好东西,可我太笨,还在努力!!


  • Hoheart


    首先统一一下swoole怎么发音吧?我觉得swu:l比较好听。


  • 游客1


    牛逼,希望php越来越好


  • 周果


    今天听说swoole,过来看看



  • 什么时候发布纯Windows版本?


  • 爱拼才会赢


    swoole 想想很激动


  • funny


    configure: WARNING: unrecognized options: --enable-async-mysql


  • dawn


    不太好理解啊



  • LaravelS (Laravel/Lumen+Swoole) 简单,非侵入式,开箱即用。


  • 归期何期?


    好了,游戏已经上线了。




普通分类: