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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android学习_ContentProvider和Uri

    Android学习_ContentProvider和Uri

    2022年2月1日
    55
  • PhpStorm2017.1版激活方法、汉化方法以及界面配置「建议收藏」

    PhpStorm2017.1版激活方法、汉化方法以及界面配置「建议收藏」本教程仅对2017.1版有效!!!!!!PhpStorm激活和汉化文件下载网址(提取密码:62cg)PhpStorm的介绍PhpStorm是一个轻量级且便捷的PHPIDE,其旨在提高用户效率,

    2022年7月2日
    30
  • Codelf插件的使用

    Codelf插件的使用当你找到这个插件的时候说明你已经知道了这个插件的作用,这里只说关于变量名和star的使用。1、去应用商店下载安装插件2、直接使用http://unbug.github.io/codelf/变量名:输入一个中文名字,会给出一大堆建议的英文变量名(比如说”产品”,突然英文名字忘了,就可以如下操作)你可能会说,我直接百度翻译、有道翻译不就OK了吗?但是”产品”只是个常见的单词,”产品资源”、”气质

    2022年6月4日
    105
  • WebService 实例应用

    WebService 实例应用两个工程分别部署在两台电脑上:webservice_client客户端  webservice_server:服务器端先说服务器导入jar包改写xml文件:cxfcom.rainspnsor.webservice.CXFNonSpringServiceImpl0cxf/services/*然后创建类:1util中:

    2022年7月21日
    15
  • VS2013产品密钥

    VS2013产品密钥VS2013试用期结束需要提供产品密钥进行注册,下面将提供几个好用的产品密钥。首先打开VS-&amp;amp;gt;帮助-&amp;amp;gt;注册产品-&amp;amp;gt;输入产品密钥BWG7X-J98B3-W34RT-33B3R-JVYW9(亲测有效)下面几个VS版本楼主未使用过,大家可以使用一下试试。VisualStudioUltimate2013KEY(密钥):BWG7X-J98B3-W34RT-33B3…

    2022年5月20日
    113
  • 基于1DCNN(一维卷积神经网络)的机械振动故障诊断

    基于1DCNN(一维卷积神经网络)的机械振动故障诊断基于1DCNN(一维卷积神经网络)的机械振动故障诊断机械振动故障诊断最为经典的还是凯斯西储实验室的轴承故障诊断,开学一周了,上次改编鸢尾花分类的代码可用,但是并不准确。开学一周重新改编了别人的一篇代码,亲测好用。不多咧咧直接放上去(基于Tensorflow2.0)(Spyder4软件上跑的)数据集时本人把凯西轴承实验驱动端内圈损坏尺寸0.14和0.21做的二分类,数据集中0代表的0.14而1代表的0.21具体看下面最后#-*-coding:utf-8-*-“””CreatedonTue

    2022年6月8日
    100

发表回复

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

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