Swoole学习(二)Swoole之TCP服务器的创建详解程序员

环境: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 = 9501; 
$server = new swoole_server($host, $port); //r($host, $port, $mode, $sock) 
 
//--使用 
/** 
 * $server->on(string $event, mixed $callback); 
 * $event包括三种情况connect:当建立连接的时候,receive :当接收到数据的时候,close:当关闭连接的时候 
 */ 
//监听连接进入事件 
$server->on('connect', function($server, $fd){   //$server是刚刚创建的$server句柄,$fd是客户端的信息 
    echo '建立连接'; 
    // var_dump($server);  
    // var_dump($fd); 
}); 
//监听数据发送事件 
$server->on('receive', function($server, $fd, $from_id, $data){ //$server是$server句柄,$fd是客户端信息,$from_id是客户端id,$data是传递的数据 
    echo '接收到的数据'; 
    var_dump($data); 
}); 
 
$server->on('close', function($server, $fd){ 
    echo '链接关闭'; 
}); 
 
$server->start();

然后进入终端对应的文件所在目录,执行命令(这里文件名是index.php)

# php index.php   //执行开启

Swoole学习(二)Swoole之TCP服务器的创建详解程序员

出现此状态,没有报错,说明开启成功了。

# ps -ajft  //查看进程状态

Swoole学习(二)Swoole之TCP服务器的创建详解程序员

两种测试:

①telnet形式

# telnet 127.0.0.1 9501   

Swoole学习(二)Swoole之TCP服务器的创建详解程序员

Swoole学习(二)Swoole之TCP服务器的创建详解程序员

②软件工具

Swoole学习(二)Swoole之TCP服务器的创建详解程序员

Swoole学习(二)Swoole之TCP服务器的创建详解程序员

最后点击软件界面的关闭,服务器同样会出现提示信息~

Swoole学习(二)Swoole之TCP服务器的创建详解程序员

OK~

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/2326.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论