pp 이벤트 확장 io 재 활용 테스트 예제 사용

이벤트 확장 을 설치 해 야 libevent 의 이벤트 체 제 를 사용 할 수 있 습 니 다.

pecl install event
테스트 코드

//    
//         
$context=stream_context_create([
  'socket'=>[
    'backlog'=>2000
  ]]);
stream_context_set_option($context,'socket','so_reuseaddr',1); //      
//sock_set_option($this->server, SOL_SOCKET, SO_REUSEADDR, 1); //      TIME_WAIT
$socket = stream_socket_server("tcp://0.0.0.0:8070", $errno, $errstr,STREAM_SERVER_BIND | STREAM_SERVER_LISTEN,$context);
stream_set_blocking($socket,false);//   
//    
$base=new EventBase();
//      socket
$event=new Event($base,$socket,Event::PERSIST |Event::READ | Event::WRITE,function ($socket)use(&$base){

  $client = stream_socket_accept($socket);
  //stream_set_blocking($client,false);//   
//    var_dump($client);
//    $content='21335435';
//    $string="HTTP/1.1 200 OK\r
"; // $string.="Content-Type: text/html;charset=utf-8\r
"; // $string.="Content-Length: ".strlen($content)."\r
\r
"; // fwrite($client,$string.$content); // fclose($client); //global $base; //var_dump($socket,$client); $base=new EventBase(); // socket $event=new Event($base,$client,Event::PERSIST |Event::READ | Event::WRITE,function ($client){ $msg=fread($client,65535); // // if($msg){ // keep-alive // // } $content='hello world'; $string="HTTP/1.1 200 OK\r
"; $string.="Content-Type: text/html;charset=utf-8\r
"; $string.="Connection: keep-alive\r
"; $string.="Content-Length: ".strlen($content)."\r
\r
"; fwrite($client,$string.$content); fclose($client); // socket , $event->del();// }); $event->add(); // $base->loop(); // //$event->del();// }); $event->add(); // var_dump($base->loop()); //


이상 은 phop 에서 이벤트 확장 io 재 활용 테스트 를 사용 하 는 예제 의 상세 한 내용 입 니 다.phop io 재 활용 테스트 에 관 한 자 료 는 다른 관련 글 을 주목 하 시기 바 랍 니 다!

좋은 웹페이지 즐겨찾기