博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP+Swoole网络通信框架
阅读量:6511 次
发布时间:2019-06-24

本文共 1553 字,大约阅读时间需要 5 分钟。

hot3.png

        Swoole主要功能: PHP语言的异步、并行、高性能网络通信框架,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。

WebSocket Server

$serv = new swoole_websocket_server("127.0.0.1", 9502);$serv->on('Open', function($server, $req) {        echo "connection open: ".$req->fd;});$serv->on('Message', function($server, $frame) {        echo "message: ".$frame->data;        $server->push($frame->fd, json_encode(["hello", "world"]));});$serv->on('Close', function($server, $fd) {    echo "connection close: ".$fd;});$serv->start();

TCP Server

$serv = new swoole_server("127.0.0.1", 9501);$serv->set(array(    'worker_num' => 8,   //工作进程数量    'daemonize' => true, //是否作为守护进程));$serv->on('connect', function ($serv, $fd){    echo "Client:Connect.\n";});$serv->on('receive', function ($serv, $fd, $from_id, $data) {    $serv->send($fd, 'Swoole: '.$data);    $serv->close($fd);});$serv->on('close', function ($serv, $fd) {    echo "Client: Close.\n";});$serv->start();

TCP Client

$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);//设置事件回调函数$client->on("connect", function($cli) {    $cli->send("hello world\n");});$client->on("receive", function($cli, $data){    echo "Received: ".$data."\n";});$client->on("error", function($cli){    echo "Connect failed\n";});$client->on("close", function($cli){    echo "Connection close\n";});//发起网络连接$client->connect('127.0.0.1', 9501, 0.5);

自己工作中用到的就这三个,具体的配置和更多的功能,可以访问swoole网站:

注明: Apache 配置swoole的时候,记得在两个配置文件php.ini 中,加入 swoole.so 否则会导致部分访问无效

转载于:https://my.oschina.net/u/2503185/blog/541115

你可能感兴趣的文章
新华三《中国城市数字经济指数白皮书》发布在即
查看>>
手机平板巡检系统,掀起设备巡检的第2次革命
查看>>
阿里云在欧洲掀起技术旋风 POLARDB数据库亮相数据库顶会ICDE
查看>>
阿里云联手PTC ThingWorx打造行业物联网生态
查看>>
怎么评价牛津大学开设区块链课程?
查看>>
【AI也拯救不了Facebook】用户从未同意用隐私换便利
查看>>
联系方式
查看>>
科普时间:OCR是人工智能的基础之一
查看>>
2016年人工智能产业梳理:一朝引爆,稳步前进(中篇)
查看>>
科学家学习天竺葵特性,研制出用水分子来驱动的微型机器人
查看>>
CodeMap
查看>>
救命稻草来了,社交平台AltspaceVR获得帕胖的关注
查看>>
比特币的私钥【区块链生存训练】
查看>>
Facebook的Aquila无人机第二次试飞成功,比预期速度要快
查看>>
行业看点 | 日本光量子新算法:或可实现一百多万量子比特信息大规模运算
查看>>
Intellij IDEA光标保持自动缩进,设置下次不放在行首
查看>>
大数据基础之常用Linux命令
查看>>
mysql之 innobackupex备份+binlog日志的完全恢复(命令行执行模式)
查看>>
使用性能监视器找出SQLServer硬件瓶颈
查看>>
CRM, C4C和Hybris的工作流简介
查看>>