Swoole PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网、车联网、智能家居等领域。
使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。

官方网站:http://www.swoole.com/

github:https://github.com/swoole/swoole-src

php扩展包下载地址:http://pecl.php.net/package/swoole

2. 安装与配置

安装swoole:可pecl直接在线安装,或下载 releases版本的swoole编译安装

pecl安装swoole扩展

pecl不可用的请确认php安装目录的bin目录已加入系统变量

  1. # pecl install swoole

2.12编译安装swoole扩展

从此处下载: http://pecl.php.net/package/swoole

  1. # cd swoole
  2. # phpize
  3. # ./configure
  4. # make && make install

2.2配置php.ini

phpinfo()确认Configuration File (php.ini) Path

添加:

  1. extension=swoole.so

重启Apache查看php扩展库

  1. # service httpd restart
  2. # php -m

确认swoole已添加

作为socket客户端示例

  1. $client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC); //同步阻塞
  2. $ret = $client->connect('127.0.0.1', 9501, 0.5, 0);
  3. $client->send("hello world\n");
  4. $data = $client->recv(1024);
  5. echo $data;
  6. unset($client);

类的构造方法,第一个参数是socket的类型,目前支持SWOOLE_SOCK_UDP/SWOOLE_SOCK_TCP。第二个参数 SWOOLE_SOCK_SYNC表示是同步阻塞来执行的。Swoole已经设置过超时,就算没有收到数据包,在超过约定时间后也会返回的。

connect方法用来连接到Server。参数分别是Host、Port、超时时间单位是秒0.5表示500ms、是否启用UDP connect。

send方法用来发送数据,recv方法来接收数据,recv方法支持第二个参数,如果第二个参数为true,表示会等到所有数据到来才会返回。

析构对象时会自动close此socket,所以没有提供close方法。

Swoole:重新定义PHP的更多相关文章

  1. 推荐个好东西swoole,php如虎添翼

    Swoole:PHP语言的异步.并行.高性能网络通信框架,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列 ...

  2. swoole比php好在哪里

    直接套用Swoole官网的介绍: PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接 ...

  3. 被swoole坑哭的PHP程序员

    被swoole坑哭的PHP程序员 2015-09-16 09:57 文帅营 博客园 字号:T | T 首先说一下对swoole的理解:披着PHP外衣的C程序.很多PHPer朋友看到swoole提供的强 ...

  4. Swoole 遇上 PHP会是怎样的结果呢

    一直想写点Swoole的东西,毕竟它重新定义了php,却一直不知道怎么下手写 Swoole涉及的知识点非常多,互为表里,每次想写都发现根本理不出一个头绪 Swoole是一个php的扩展,它的核心目的就 ...

  5. http://www.swoole.com/

    Swoole:重新定义PHP PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器, ...

  6. 用swoole和websocket开发简单聊天室

    首先,我想说下写代码的一些习惯,第一,任何可配置的参数或变量都要写到一个config文件中.第二,代码中一定要有日志记录和完善的报错并记录报错.言归正传,swoole应该是每个phper必须要了解的, ...

  7. 在Laravel中使用swoole来取代nginx作为http服务器

    1.是什么限制Laravel框架的速度? Laravel框架启动的时候需要加载很多文件,再加上其出了名的生态环境好,所以在开发过程中我们就会发现有非常多的已经造好的轮子,这也就使得Laravel的一次 ...

  8. swoole运行模式加速laravel应用的详细介绍

    本篇文章给大家带来的内容是关于swoole运行模式加速laravel应用的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.Swoole Swoole号称重新定义了PHP, ...

  9. swoole入门简介

    原文:https://www.cnblogs.com/dormscript/p/4811921.html 本文主要记录一下学习swoole的过程.填过的坑以及swoole究竟有多么强大! 首先说一下对 ...

随机推荐

  1. ubuntu上面安装eclipse android到adt下载方法

    如果自动安装有问题的话,就需要手动安装,其实是差不多的,唯一不同的就是手动下载ADT插件包,http://dl.google.com/android/ADT-0.9.6.zip ,可以下载到. 版本号 ...

  2. Jquery获取input=text 的值

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 转: 两个 Shell 网站: explainshell 和 shellcheck

    今天向大家介绍两个有意思的 Shell 网站,一个是 explainshell.com,另一个是 shellcheck.net. explainshell 先说 explainshell.explai ...

  4. android脚步---跟随手指动的小球

    这次的学习主要是在包里面除自动生成的mainactivity.java之外,再新建一个class, DrawView,在mainactivity里面调用DrawView. 在DrawView里面主要是 ...

  5. JAVA基础-多态

    多态 polymophism: 动态绑定, 迟绑定, 指在执行期间(java), 而不是编译期间(javac), 判断所引用对象的实际类型, 根据实际类型调用响应的方法. 3个条件: 1. 继承 2. ...

  6. STM8不用手动复位进入自带Bootloader方法(串口下载)

    源:STM8不用手动复位进入自带Bootloader方法(串口下载) STM8不用手动复位进入自带Bootloader方法(串口下载)除非STM8片子的空的,如果复位运行的是自带Bootloader, ...

  7. 计算机学院大学生程序设计竞赛(2015’12) 1004 Happy Value

    #include<cstdio> #include<cstring> #include<cmath> #include<vector> #include ...

  8. RHEL7 单独安装图形 X11

    RHEL7 默认是最小化安装(Minimal Install),没有图形界面, 我们应该选择Server with GUI.若已错过此步骤,我们采用以下方式补充安装GUI界面.

  9. spring boot + neo4j restful

    整整折腾了三天,终于把spring boot + neo4j的路走通了. 这里介绍3个部分,pom,entity,repository 1)pom <?xml version="1.0 ...

  10. Hibernate---O/R Mapping

    1. JDBC数据库繁琐 2. sql语句不是面向对象 3. 可以在对象和关系表之间建立关联简化编程 4. O/R Mapping可以简化编程, 跨越数据库平台 比较流行的O/R Mapping Fr ...