Swoole学习(七)Swoole之异步TCP服务器的创建
2024-08-24 23:40:36
环境:Centos6.4,PHP环境:PHP7
<?php
//创建TCP服务器
/**
* $host 是swoole需要监听的ip,如果要监听本地,不对外服务,那么就是127.0.0.1;如果我要监听外网,比如我本地是192.168.9.155,我可以监听这个IP,如果本机分配的192.168.9.155的IP,外网在访问IP的时候,就可以相应对应的TCP服务。当然也可以同时监听多个IP
*/
/**
* $port端口号。如果选择1024以下的端口号,需要root权限,如果swoole和php没有root权限,那就行不通。这里是9501端口
*/
//其实后面还有两个参数,一个是mode,一个是socke
//$mode默认是 SWOOLE_PROCESS 多进程方式
//$sock默认是SWOOLE_SOCK_TCP 默认TCP服务
//所以后面的两个参数可以不填写 $host = '0.0.0.0';
$port = ;
$server = new swoole_server($host, $port); //($host, $port, $mode, $sock) //此时的TCP服务器是同步阻塞状态,下面我们就设置异步状态 //设置异步进程工作数量
$server->set(array('task_worker_num' => )); //投递异步任务(也就是接收到任务之后,把任务投递出去)
$server->on('receive', function($server, $fd, $from_id, $data){
$task_id = $server->task($data); //异步ID
echo "异步ID:" . $task_id . "\n";
}); //处理异步任务
$server->on('task', function($server, $task_id, $from_id, $data){
echo "执行异步ID:" . $task_id;
$server->finish("$data -> ok");
});
//处理结果
$server->on('finish', function($server, $task_id, $data){
echo '执行完成'."\n";
}); $server->start();
然后进入终端对应的文件所在目录,执行命令(这里文件名是index7.php)
# php index7.php //开启服务
# ps -ajft //查看进程状态
开始测试
OK~
最新文章
- Asp.net Core 通过 Ef Core 访问、管理Mysql
- Asp.net mvc页面传值-- dropdownlist
- 初识java之变量、数据类型和运算符(一)
- 【转】Spring mvc集成ZBUS--轻量级MQ、RPC、服务总线
- java访问数据库的sql
- Xcode7 创建HTTP请求报错
- 表格CSS样式美化
- python数据分析师面试题选
- link方式安装Eclispe插件:greenUML
- Linux下简单的socket通信实例
- C#中方法的参数修饰符
- Java IO学习总结
- Linux文件解压缩详解
- Ubuntu16.04下安装Hive
- AJAX初步学习
- Appium 测试微信小程序 Webview
- c#委托之浅析
- python自动化开发-[第十一天]-Mysql
- 学习windows编程 day3 之窗口绘画二:边框绘制函数
- mysql事务及慢查询
热门文章
- Android测试:从零开始3—— Instrumented单元测试1
- Session过期后自动跳转到登录页面的实例代码
- chkcofnig-minimal-script
- 160316、实时处理oracle数据库中表的数据变化
- cloud native
- Microservices 微服务概念和优点 自治 弹性 级联故障 微服务的问题 CAP 分布式事务 修改一个服务并对其部署而不影响其他任务服务
- 排序算法review<;2>;--Shell 排序
- Theme Section---hdu4763(kmp, Next数组的运用)
- cordova 入门
- mytest3.py-api接入平台获取数据