Как проверить подключение в PHP? - PullRequest
3 голосов
/ 03 июня 2009

Предположим, вы сейчас подключены к серверу Jabber,

тогда как вы можете проверить, потеряно ли ваше соединение с сервером jabber?

Ответы [ 2 ]

4 голосов
/ 03 июня 2009

Попробуйте fsockopen (http://us3.php.net/fsockopen):

$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
//if the socket failed it's offline...
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
}
1 голос
/ 03 июня 2009

Я не совсем уверен в том, как работает Jabber по сравнению с любым другим протоколом, но я считаю, что вам нужно было бы установить сокет-соединение с сервером, что-то вроде:

$endpoint = "SERVER";
$fp = fopen( $endpoint, "r" ) or die();
while ( ! feof( $fp )){
    // Heavy duty work goes here.
    print fgets( $fp, 1024 );
}

Этот цикл while () будет работать до тех пор, пока соединение с сокетом не прекратит возвращать данные в сценарий PHP. Поэтому, пока ваша логика находится в одном из таких циклов while (), единственный раз, когда она должна выходить из цикла while (), находится после завершения соединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...