【问题标题】:how to test connectivity in PHP?如何在 PHP 中测试连接性?
【发布时间】:2009-06-03 00:32:16
【问题描述】:

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

那么如何检查与 jabber 服务器的连接是否丢失?

【问题讨论】:

  • 有很多与 Jabber 相关的问题来自这个方向。是否值得买一本关于 XMPP/Jabber 的书,比如 XMPP 权威指南和一本好的 PHP 书?

标签: php connection


【解决方案1】:

试试 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";
}

【讨论】:

    【解决方案2】:

    我不完全确定 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() 循环的唯一时间是在连接终止时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 2011-04-10
      • 2014-08-03
      • 2020-09-05
      • 1970-01-01
      • 2014-08-19
      • 1970-01-01
      • 2011-04-13
      相关资源
      最近更新 更多