假设您现在已连接到jabber服务器,
然后如何检查您与jabber服务器的连接是否丢失?
答案 0 :(得分:4)
尝试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 :(得分:1)
我不完全确定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()循环的唯一时间是在连接终止时。