php网络编程swoole http
服务端:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <?php use Swoole\Http\Server; use Swoole\Http\Request; use Swoole\Http\Response; // 创建 HTTP 服务器 $server = new Server( '127.0.0.1' , 9501); $server ->on( 'start' , function ( $server ) { //print_r($server); echo "Swoole http server is started at http://127.0.0.1:9501\n" ; }); // 设置服务器配置 $server ->set([ 'worker_num' => 4, // 设置工作进程数 'max_request' => 1000, // 每个进程最大接受请求数 'dispatch_mode' => 1, // 数据包分发策略 "enable_static_handler" => true, //支持静态文件 "document_root" => "D:/workspace/swoole_test/static" , //文件位置 'daemonize' => false, ]); // 监听请求事件 $server ->on( 'request' , function (Request $request , Response $response ) { echo "get:\n" .print_r( $request ->get, true). "\n\n" ; echo "post:\n" .print_r( $request ->post, true). "\n\n" ; echo "cookie:\n" .print_r( $request ->cookie, true). "\n\n" ; echo "files:\n" .print_r( $request ->files, true). "\n\n" ; echo "header:\n" .print_r( $request ->header, true). "\n\n" ; echo "server:\n" .print_r( $request ->server, true). "\n\n" ; // 设置响应头 $response ->header( 'Content-Type' , 'text/html; charset=utf-8' ); $response ->cookie( "User" , "Swoole" ); $response ->header( "X-Server" , "Swoole" ); // 处理 GET 请求 if ( $request ->server[ 'request_method' ] == 'GET' ) { $response -> end ( '你好,我是Swoole' ); } else { $response -> end ( 'Method Not Allowed' ); } }); // 启动服务器 $server ->start(); |
客户端:
1 2 3 4 5 6 7 8 9 10 | <?php use Swoole\Coroutine\Http\Client; use function Swoole\Coroutine\run; run( function () { $cli = new Client( '127.0.0.1' , 9501); $cli ->get( '/get' ); echo $cli ->body; $cli ->close(); }); |
输出:
本文来自博客园,作者:河北大学-徐小波,转载请注明原文链接:https://www.cnblogs.com/xuxiaobo/p/18624982

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步