NexusPHP支持双栈协议(ipv4/ipv6)

来源:互联网 发布:开淘宝后台操作流程 编辑:程序博客网 时间:2024/05/11 14:36

关于如何架设PT请参考:NexusPHP架设PT服务站点教程

安装完成后发现可以局域网内可以做种,但是外网就不行了,查看种子下载地址列表会显示可连接性为否,查看了announce.php文件,可连接性由这段代码决定

    $sockres = @pfsockopen($ip, $port, $errno, $errstr, 5);    if (!$sockres)    {        $connectable = "no";         //不可连接    }    else    {        $connectable = "yes";       //可连接        @fclose($sockres);    }

 

我查看了php参考手册pfsockopen函数,这里只能对ipv4支持,如果要支持ipv6可以改成如下形式

if (strlen( $ip ) > 15)if($protocol==6);    //判断是否为ipv6地址        $sockres = @pfsockopen("tcp://[".$ip."]",$port,$errno,$errstr,5);    else        $sockres = @pfsockopen($ip,$port,$errno,$errstr,5);    if (!$sockres) {        $connectable = "no";    } else {        $connectable = "yes";        @fclose ( $sockres );    }

 

参考资料:http://blog.chinaunix.net/uid-93477-id-3249521.html


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击