PHP
事件 | Event

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 →