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

举报
lxw1844912514 发表于 2022/03/27 00:34:16 2022/03/27
【摘要】 ps aft|grep tcp.php 20688 pts/7 S+ 0:00 \_ grep --color=auto tcp.php20450 pts/4 Sl+ 0:00 \_ php tcp.php20451 pts/4 S+ 0:00 \_ php tcp.php2045...
ps aft|grep tcp.php
 

  
  1. 20688 pts/7 S+ 0:00 \_ grep --color=auto tcp.php
  2. 20450 pts/4 Sl+ 0:00 \_ php tcp.php
  3. 20451 pts/4 S+ 0:00 \_ php tcp.php
  4. 20453 pts/4 S+ 0:00 \_ php tcp.php
  5. 20454 pts/4 S+ 0:00 \_ php tcp.php
  6. 20455 pts/4 S+ 0:00 \_ php tcp.php
  7. 20456 pts/4 S+ 0:00 \_ php tcp.php
  8. 20457 pts/4 S+ 0:00 \_ php tcp.php
  9. 20458 pts/4 S+ 0:00 \_ php tcp.php
  10. 20459 pts/4 S+ 0:00 \_ php tcp.php
  11. 20460 pts/4 S+ 0:00 \_ php tcp.php

tcp.php


  
  1. <?php
  2. /**
  3. *User: lxw
  4. *Date: 2020-01-16
  5. */
  6. //创建Server对象,监听 127.0.0.1:9501端口
  7. $serv = new swoole_server("127.0.0.1", 9501);
  8. $serv->set(array(
  9. 'worker_num'=>8, // worker 进程数 CPU 1~4 倍
  10. 'max_request'=>1000
  11. ));
  12. /**
  13. * $fd:客户端连接的唯一标识
  14. * $reactor_id: 线程id
  15. */
  16. //监听连接进入事件
  17. //事件回调函数四种方法
  18. //1.匿名函数
  19. $a='hello';
  20. $b='world';
  21. $serv->on('Connect', function ($serv, $fd,$reactor_id) use($a,$b) {
  22. echo "Client: {$reactor_id} - {$fd} Connect -{$a}-{$b}.\n";
  23. });
  24. //2.类静态方法
  25. /*class A{
  26. static function client ($serv, $fd,$reactor_id) {
  27. echo "Client: {$reactor_id} - {$fd} Connect.\n";
  28. }
  29. }
  30. $serv->on('Connect', 'A::Client');*/
  31. //$serv->on('Connect', array('A','client'));
  32. //3.函数
  33. //function my_func($serv, $fd,$reactor_id){
  34. // echo "Client: {$reactor_id} - {$fd} Connect 22.\n";
  35. //}
  36. //$serv->on('Connect', 'my_func');
  37. //4.对象方法
  38. /*class B{
  39. function client($serv, $fd,$reactor_id){
  40. echo "Client: {$reactor_id} - {$fd} Connect 22.\n";
  41. }
  42. }
  43. $obj=new B();
  44. $serv->on('Connect', array($obj,'client'));*/
  45. //监听数据接收事件
  46. $serv->on('Receive', function ($serv, $fd, $reactor_id, $data) {
  47. $serv->send($fd, "Server: {$reactor_id} - {$fd} ".$data);
  48. });
  49. //监听连接关闭事件
  50. $serv->on('Close', function ($serv, $fd) {
  51. echo "Client: Close.\n";
  52. });
  53. //启动服务器
  54. $serv->start();
  55. //使用 telnet 127.0.0.1 9501
  56. // netstat -anp|grep 9501

tcp_client.php


  
  1. <?php
  2. /**
  3. *User: lxw
  4. *Date: 2020-01-17
  5. */
  6. //连接 TCP 服务
  7. $client=new swoole_client(SWOOLE_SOCK_TCP);
  8. if (!$client->connect('0.0.0.0',9501)){
  9. echo '连接失败';
  10. exit();
  11. }
  12. //php cli 常量
  13. fwrite(STDOUT,'请输入消息:');
  14. $msg=trim(fgets(STDIN));
  15. //发送消息给tcp server 服务器
  16. $client->send($msg);
  17. //接受来自server 的数据
  18. $result=$client->recv();
  19. echo $result;

 

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/106627637

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。