如何在PHP中测试连接?

时间:2009-06-03 00:32:17

标签: php connection

假设您现在已连接到jabber服务器,

然后如何检查您与jabber服务器的连接是否丢失?

2 个答案:

答案 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()循环的唯一时间是在连接终止时。