示例#1
0
<?php

$base = new EventBase();
$http = new EventHttp($base);
$addresses = array(8091 => "127.0.0.1", 8092 => "127.0.0.2");
$i = 0;
$socket = array();
foreach ($addresses as $port => $ip) {
    echo $ip, " ", $port, PHP_EOL;
    $socket[$i] = stream_socket_server("tcp://{$ip}:{$port}", $errno, $errstr, STREAM_SERVER_BIND | STREAM_SERVER_LISTEN);
    /*
    	$socket[$i] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    	if (!socket_bind($socket[$i], $ip, $port)) {
    		exit("socket_bind failed\n");
    	}
    	socket_listen($socket[$i], 0);
    	socket_set_nonblock($socket[$i]);
    */
    if (!$http->accept($socket[$i])) {
        echo "Accept failed\n";
        exit(1);
    }
    ++$i;
}
$http->setDefaultCallback(function ($req) {
    echo "URI: ", $req->getUri(), PHP_EOL;
    $req->sendReply(200, "OK");
    echo "OK\n";
});
$signal = Event::signal($base, SIGINT, function () use($base) {
    echo "Caught SIGINT. Stopping...\n";
示例#2
0
<?php

require_once '../php/EventHttp.class.php';
$Data = $_POST['data'];
$Message = new EventHttp();
$Message->Push($Data);