EventHttp::bind
EventHttp::bind
(PECL event >= 1.2.6-beta)
EventHttp :: bind - 绑定指定地址和端口上的 HTTP 服务器
描述
public void EventHttp::bind ( string $address , int $port )
在指定的地址和端口上绑定 HTTP 服务器。
可以多次调用以将相同的 HTTP 服务器绑定到多个不同的端口。
参数
address
包含要侦听(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) 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 服务器接受指定套接字流或资源上的连接
← EventHttp::addServerAlias
EventHttp::__construct →