欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

swoole TCP UDP server

发布时间:2025/5/22 编程问答 32 豆豆
生活随笔 收集整理的这篇文章主要介绍了 swoole TCP UDP server 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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


总结

以上是生活随笔为你收集整理的swoole TCP UDP server的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。