Слушатель событий в PHP - PullRequest
       19

Слушатель событий в PHP

3 голосов
/ 14 июня 2010

Я хочу, чтобы мой веб-сервер уведомлял меня через страницу php, когда происходит событие на другом TCP-сервере, к которому страница PHP успешно подключилась через сокет. Событие похоже на то, что TCP-сервер хочет отправить сообщение на веб-сервер и т. Д. Есть ли способ сделать это и / или какие-либо ссылки на то, как это сделать?

1 Ответ

2 голосов
/ 14 июня 2010

Sure:

$fp = fsockopen("tcp://example.com", 8888) OR die("could not connect");
while (!feof($fp)) {
    $pc = fread($handle, 8192);
    if ($pc === false || strlen($pc) == 0)
        break;
    //a new packet has arrived
    //you should collect the read in a variable and wait
    //for another packet until you know the message is complete
    //(depends on the protocol)
    collect_in_result($pc);
    if (message_is_complete()) {
        if (check_event()) {
            //take action
        }
    }
}
...