Event EventHttp::bind

(PECL event >= 1.2.6-beta)

EventHttp::bind — 지정된 주소 및 포트에 HTTP 서버를 바인딩합니다.


설명

public EventHttp::bind(string $address , int $port): void

지정된 주소와 포트에 HTTP 서버를 바인딩합니다.

동일한 HTTP 서버를 여러 다른 포트에 바인딩하기 위해 여러 번 호출될 수 있습니다.


매개변수

address
listen(2)할 IP 주소가 포함된 문자열입니다.
port
수신 대기할 포트 번호입니다.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


Examples

예제 #1 EventHttp::bind() 예제

                  
<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
    exit("bind(1) failed\n");
};
if (!$http->bind("127.0.0.1", 8089)) {
    exit("bind(2) failed\n");
};

$http->setCallback("/about", function($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});

$base->dispatch();
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

Client:

$ nc 127.0.0.1 8088
GET /about HTTP/1.0
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

$ nc 127.0.0.1 8089
GET /unknown HTTP/1.0
Connection: close

HTTP/1.1 404 Not Found
Content-Type: text/html
Date: Wed, 13 Mar 2013 04:14:41 GMT
Content-Length: 149
Connection: close

<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /unknown was not found on this server.</p></body></html>

Server:
URI: /about
OK
                

기타

  • EventHttp::accept() - HTTP 서버가 지정된 소켓 스트림 또는 리소스에 대한 연결을 수락하도록 합니다.