https://wiki.swoole.com/
<?php /** * Created by PhpStorm. * User: whitneywang * Date: 2018/4/20 * Time: 18:21 */ //创建Server对象,监听 127.0.0.1:9501端口 $serv = new swoole_server("127.0.0.1", 9501); $serv->set([ 'worker_num' => 8, //worker 进程数 电好CPU 1-4 'max_request' => 2000,//参数表示worker进程在处理完n次请求后结束运行。manager会重新创建一个worker进程。此选项用来防止worker进程内存溢出 ]); //监听连接进入事件 是否连接成功 //$fd 客户端连接到服务端的唯一标识 //$reactor_id 线程ID $serv->on('connect', function ($serv, $fd, $reactor_id) { echo "Client: ".$fd .$reactor_id."-Connect.\n"; }); //监听数据接收事件 客户端发过来的数据 //$from_id 进程数 $serv->on('receive', function ($serv, $fd, $from_id, $data) { //向客户端发数据 $serv->send($fd, "Server: ".$data .$from_id); }); //监听连接关闭事件 $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); //启动服务器 $serv->start();
telnet 127.0.0.1 9501
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力
https://wiki.swoole.com/wiki/page/458.html
有没有遇到到ctrl+D和ctrl+C退不出来的
可以以下操作
按ctrl + ],会到telnet>提示符下,再输入exit, quit,ctrl +D 其一即可退出。
UTP
<?php /** * Created by PhpStorm. * User: whitneywang * Date: 2018/4/20 * Time: 18:21 */ //创建Server对象,监听 127.0.0.1:9501端口 $serv = new swoole_server("127.0.0.1", 9502,SWOOLE_PROCESS, SWOOLE_SOCK_UDP); $serv->set([ 'worker_num' => 8, //worker 进程数 电好CPU 1-4 'max_request' => 2000,//参数表示worker进程在处理完n次请求后结束运行。manager会重新创建一个worker进程。此选项用来防止worker进程内存溢出 ]); //监听连接进入事件 是否连接成功 //$fd 客户端连接到服务端的唯一标识 //$reactor_id 线程ID $serv->on('connect', function ($serv, $fd, $reactor_id) { echo "Client: ".$fd .$reactor_id."-Connect.\n"; }); //监听数据接收事件 客户端发过来的数据 //$from_id 进程数 //监听数据接收事件 $serv->on('Packet', function ($serv, $data, $clientInfo) { $serv->sendto($clientInfo['address'], $clientInfo['port'], "Server ".$data); var_dump($clientInfo); }); //监听连接关闭事件 $serv->on('close', function ($serv, $fd) { echo "Client: ".$fd."Close.\n"; }); //启动服务器 $serv->start(); //启动服务 // //php udp_server.php //UDP服务器可以使用netcat -u 来连接测试 // //netcat -u 127.0.0.1 9502 //hello //Server: hello