zoukankan      html  css  js  c++  java
  • Swoole学习第二天,woole_http_server

    Swoole_http_server服务
    <?php
    
    //参考
    //https://wiki.swoole.com/wiki/page/326.html
    
    $http = new Swoole_http_server('0.0.0.0', 9501);
    
    $http->set(
    // [
    // 'enable_static_handler' => true,
    // 'document_root' => "/data/www",
    // ]
    //);
    //$http->on('request', function($request, $response) {
    // //print_r($request->get);
    // $content = [
    // 'date:' => date("Ymd H:i:s"),
    // 'get:' => $request->get,
    // 'post:' => $request->post,
    // 'header:' => $request->header,
    // ];
    //
    //// swoole_async_writefile(__DIR__."/access.log", json_encode($content).PHP_EOL, function($filename){
    //// // todo
    //// }, FILE_APPEND);
    //// $response->cookie("singwa", "xsssss", time() + 1800);
    // $response->end(json_encode($request->get));
    //});

    $http->on('request', function ($request, $response){ //$request 客户端发来的参数,get post方法 // var_dump($request->get); //Http请求的头部信息。类型为数组,所有key均为小写。 // var_dump($request->header); //Http请求相关的服务器信息,相当于PHP的$_SERVER数组。包含了Http请求的方法,URL路径,客户端IP等信息。 // var_dump($request->server); //request_time //request_time是在Worker设置的,在SWOOLE_PROCESS模式下存在dispatch过程,因此可能会与实际收包时间存在偏差。尤其是当请求量超过服务器处理能力时,request_time可能远滞后于实际收包时间。 //可以通过$server->getClientInfo方法获取last_time获得准确的收包时间。 //$request->file //与PHP的$_FILES相同 //$request->rawContent 获取原始的POST包体,用于非application/x-www-form-urlencoded格式的Http POST请求。返回原始POST数据,此函数等同于PHP的fopen('php://input') //$request->getData 获取完整的原始Http请求报文。包括Http Header和Http Body // var_dump($request->getData()); //$response //status 客户端返回的状态码 HTTP协议状态 // var_dump($response->status(301)); //cookie设置 // $response->cookie('username','xiaoming',time() + 100); //redirect //发送Http跳转。调用此方法会自动end发送并结束响应。 // $url:跳转的新地址,作为Location头进行发送 // $http_code:状态码,默认为302临时跳转,传入301表示永久跳转 // $response->redirect($url = 'http://www.baidu.com', $http_code = 302); //发送Http响应体,并结束请求处理。 //end操作后将向客户端浏览器发送HTML内容 //end只能调用一次,如果需要分多次向客户端发送数据,请使用write方法 //客户端开启了KeepAlive,连接将会保持,服务器会等待下一次请求 //客户端未开启KeepAlive,服务器将会切断连接 $response->end("<h1>Swoole_http_server</h1>"); }); $http->start();

    验证方法:

    1.使用curl方法

    2.使用浏览器验证

    --------------------------------------------------------------------------------------------

  • 相关阅读:
    orale 函数大全[转] 涛
    easyuicombobox的option选项为true与false时的问题 涛
    数据库镜像转移Failover Partner 涛
    创建链接服务器 涛
    Sql Server 2008 R2 清空数据库中ldf日志文件 涛
    杂 涛
    Jquery 数组操作大全【转载】 涛
    VS2012常用快捷键 涛
    android studio集成ijkplayer Vevi
    CenOs 部署记录 Vevi
  • 原文地址:https://www.cnblogs.com/caoql/p/11661705.html
Copyright © 2011-2022 走看看