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

关于如何架设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)$protocol==6;
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

转载于:https://www.cnblogs.com/ahauzyy/archive/2013/05/17/3084454.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值