swoole查看子进程与主进程关系「建议收藏」

swoole查看子进程与主进程关系

大家好,又见面了,我是全栈君。

ps aft|grep tcp.php
20688 pts/7    S+     0:00  \_ grep --color=auto tcp.php
20450 pts/4    Sl+    0:00  \_ php tcp.php
20451 pts/4    S+     0:00      \_ php tcp.php
20453 pts/4    S+     0:00          \_ php tcp.php
20454 pts/4    S+     0:00          \_ php tcp.php
20455 pts/4    S+     0:00          \_ php tcp.php
20456 pts/4    S+     0:00          \_ php tcp.php
20457 pts/4    S+     0:00          \_ php tcp.php
20458 pts/4    S+     0:00          \_ php tcp.php
20459 pts/4    S+     0:00          \_ php tcp.php
20460 pts/4    S+     0:00          \_ php tcp.php

swoole查看子进程与主进程关系「建议收藏」

tcp.php

<?php
/**
 *User: lxw
 *Date: 2020-01-16
 */
//创建Server对象,监听 127.0.0.1:9501端口
$serv = new swoole_server("127.0.0.1", 9501);

$serv->set(array(
    'worker_num'=>8, // worker 进程数 CPU 1~4 倍
    'max_request'=>1000
));

/**
 * $fd:客户端连接的唯一标识
 * $reactor_id: 线程id
 */
//监听连接进入事件

//事件回调函数四种方法
//1.匿名函数
$a='hello';
$b='world';
$serv->on('Connect', function ($serv, $fd,$reactor_id) use($a,$b) {
    echo "Client: {$reactor_id} - {$fd} Connect -{$a}-{$b}.\n";
});

//2.类静态方法
/*class A{
    static function client ($serv, $fd,$reactor_id) {
        echo "Client: {$reactor_id} - {$fd} Connect.\n";
    }
}
$serv->on('Connect', 'A::Client');*/
//$serv->on('Connect', array('A','client'));


//3.函数
//function my_func($serv, $fd,$reactor_id){
//    echo "Client: {$reactor_id} - {$fd} Connect 22.\n";
//}
//$serv->on('Connect', 'my_func');

//4.对象方法
/*class B{
    function client($serv, $fd,$reactor_id){
        echo "Client: {$reactor_id} - {$fd} Connect 22.\n";
    }
}
$obj=new B();
$serv->on('Connect', array($obj,'client'));*/


//监听数据接收事件
$serv->on('Receive', function ($serv, $fd, $reactor_id, $data) {
    $serv->send($fd, "Server: {$reactor_id} - {$fd} ".$data);
});

//监听连接关闭事件
$serv->on('Close', function ($serv, $fd) {
    echo "Client: Close.\n";
});

//启动服务器
$serv->start();


//使用 telnet 127.0.0.1 9501
// netstat -anp|grep 9501

tcp_client.php

<?php
/**
 *User: lxw
 *Date: 2020-01-17
 */

//连接 TCP 服务
$client=new swoole_client(SWOOLE_SOCK_TCP);

if (!$client->connect('0.0.0.0',9501)){
    echo '连接失败';
    exit();
}

//php cli 常量
fwrite(STDOUT,'请输入消息:');
$msg=trim(fgets(STDIN));

//发送消息给tcp server 服务器
$client->send($msg);

//接受来自server 的数据
$result=$client->recv();
echo $result;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111763.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 冰蝎下的反弹shell连接msfconsole

    冰蝎下的反弹shell连接msfconsole文章目录前言一、使用木马getshell1.搭建环境二、冰蝎配置三、kali监听总结前言好久没碰美少妇(MSF)了,恰巧昨天在群里水群,有个表哥问为什么msf监听不到数据。为此我带着表哥的疑问进行了简单的研究。大体的流程和思路我简单记录一下。其中的坑还是不少的,希望这篇文章对初识冰蝎的表哥们有点用处。一、使用木马getshell冰蝎之所以强还是在于他的动态二进制加密。这里呢,在冰蝎下载的包中给出了官方的webshell。在server文件夹下。这里呢,我踩过一个坑。不知道是我电脑配置的问题还是就

    2022年9月7日
    2
  • Python变量的命名_python函数命名规则

    Python变量的命名_python函数命名规则一、变量的概念变量名只有在第一次出现的时候,才是定义变量。当再次出现时,不是定义变量,而是直接使用之前定义的变量。1.变量命名1)命名的规范性变量名可以包括字母、数字、下划线,但是数字不能做为开头。例如:name1是合法变量名,而1name就不可以。 系统关键字不能做变量名使用 除了下划线之个,其它符号不能做为变量名使用 Python的变量名是除分大小写的2)驼峰命名法…

    2022年5月3日
    53
  • ORACLE控制处理函数COALESCE()和NVL()

    ORACLE控制处理函数COALESCE()和NVL()1.语法COALESCE(expression,value1,value2……,valuen)2.说明主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格式如下:COALESCE(expression,value1,value2……,valuen)COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。

    2022年7月13日
    18
  • 屏蔽自动更新描述文件(屏蔽描述文件)

    是不是应该说终于,是的。关于iOS屏蔽系统升级的描述文件在几个月前失效的事情大家都清楚了,苹果先是让描述文件失效,然后重新分享的屏蔽升级描述文件也相继的失效,之后也没有新的文件出来。之后是各种的sao操作出来,曲线饶了远路才能把iPhone晚上充电连着WIFI会自动升级的问题解决。有些方法还不能够完全解决问题,进行了屏蔽之后可能会让AppStore不能够进行正常的软件更新。之前修改WIFI,屏…

    2022年4月11日
    60
  • javascript操作html元素CSS属性

    javascript操作html元素CSS属性

    2021年12月8日
    42
  • SLAM算法解析[通俗易懂]

    SLAM算法解析[通俗易懂]【嵌牛导读】:SLAM(SimultaneousLocalizationandMapping)是业界公认视觉领域空间定位技术的前沿方向,中文译名为「同步定位与地图构建」,它主要用于解决机器人在未知环境运动时的定位和地图构建问题。【嵌牛鼻子】:有人就曾打比方,若是手机离开了WIFI和数据网络,就像无人车和机器人,离开了SLAM一样。【嵌牛正文】:目前科技发展速度飞快,想让用户在AR/VR、机器人、无人机、无人驾驶领域体验加强,还是需要更多前沿技术做支持,SLAM就是其中之一。实际上

    2022年6月29日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号