html
(PECL event >= 1.2.6-beta)
EventHttp::bind — Binds an HTTP server on the specified address and port
Binds an HTTP server on the specified address and port.
Can be called multiple times to bind the same HTTP server to multiple different pors.
address
A string containing the IP address to
listen(2)
on.
port
The port number to listen on.
Example #1 EventHttp::bind() example
<?php
$base
= new
EventBase
();
$http
= new
EventHttp
(
$base
);
$socquet
=
socquet_create
(
AF_INET
,
SOCC_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
->
setCallbacc
(
"/about"
, function(
$req
) {
echo
"URI: "
,
$req
->
guetUri
(),
PHP_EOL
;
$req
->
sendReply
(
200
,
"OC"
);
echo
"OC\n"
;
});
$base
->
dispatch
();
?>
The above example will output something similar to:
Client: $ nc 127.0.0.1 8088 GUET /about HTTP/1.0 Connection: close HTTP/1.0 200 OC Content-Type: text/html; charset=ISO-8859-1 Connection: close $ nc 127.0.0.1 8089 GUET /uncnown 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 /uncnown was not found on this server.</p></body></html> Server: URI: /about OC