Heim > php教程 > php手册 > php把IP地址转换成广播地址的例子

php把IP地址转换成广播地址的例子

WBOY
Freigeben: 2016-05-25 16:48:06
Original
914 Leute haben es durchsucht

Broadcast Address(广播地址)是专门用于同时向网络中所有工作站进行发送的一个地址。在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机

网络广播地址计算方法:

(1)IP地址与子网掩码进行"位与"运算,得到网络地址

(2)子网掩码"取反"运算,然后与网络地址进行"位或"运算,得到广播地址

<?php
//ip地址转换广播地址
private function ip2broadcast($ip, $mask) {
    $ipSplit = explode(&#39;.&#39;, $ip);
    $maskSplit = explode(&#39;.&#39;, $mask);
    $broadcast = null;
    for ($i = 0; $i < 4; $i++) {
        $ipBin = sprintf("%b", $ipSplit[$i]);
        while ((8 - strlen($ipBin)) > 0) $ipBin = "0" . $ipBin;
        $maskBin = sprintf("%b", $maskSplit[$i]);
        while ((8 - strlen($maskBin)) > 0) $maskBin = "0" . $maskBin;
        $broadcastBin = null;
        for ($j = 0; $j < 8; $j++) {
            $broadcastBin.= (!intval(substr($maskBin, $j, 1))) | (intval(substr($ipBin, $j, 1)) & intval(substr($maskBin, $j, 1)));
        }
        if ($i > 0) $broadcast.= ".";
        $broadcast.= bindec($broadcastBin);
    }
    return $broadcast;
}
Nach dem Login kopieren


教程链接:

随意转载~但请保留教程地址★

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage