PHP Conference Japan 2024

EventHttp::bind

(PECL event >= 1.2.6-beta)

EventHttp::bind將 HTTP 伺服器綁定到指定的位址和連接埠

說明

公開 EventHttp::bind( 字串 $address , 整數 $port ):

將 HTTP 伺服器綁定到指定的地址和連接埠。

可以多次呼叫此函式,將同一個 HTTP 伺服器綁定到多個不同的連接埠。

參數

address

包含要進行 listen(2) 的 IP 位址的字串。

port

要監聽的連接埠號。

返回值

成功時返回 true,失敗時返回 false

範例

範例 #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) 失敗\n");
};
if (!
$http->bind("127.0.0.1", 8089)) {
exit(
"bind(2) 失敗\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

另請參閱

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top