東芝から発売されているFlashAirを用いた開発を行う人々向けのまとめwikiです。※本wikiは東芝及びフィックスターズ、キオクシアとは何の関係もありません。お問合わせは管理者へお願いします。

×

概要

IPアドレスの変換とブロードキャストアドレスの計算

ライセンス

ソース

--IPアドレス文字列から32bitIPアドレス数値に変換
function ipadr2ipnum(ipadr)
  local ip_itr = string.gmatch(ipadr, "%d+")
  local ip = 0
  for i=1,4 do
    ip = bit32.lshift(ip,8)
    ip = bit32.bor(ip,tonumber(ip_itr()))
  end  
  return ip
end

--32bitIPアドレス数値からIPアドレス文字列に変換
function ipnum2ipadr(ipnum)
  local ipadr=""
  for i=1,4 do
    ipadr = tostring(bit32.band(ipnum,0xFF)) .. "." .. ipadr
    ipnum = bit32.rshift(ipnum,8)
  end  
  return string.sub(ipadr,0,-2)
end

--IPアドレスとサブネットマスクを取得し、数値に変換
ip,sub,gate = fa.ip()
ip_num = ipadr2ipnum(ip)
sub_num = ipadr2ipnum(sub)

--ブロードキャストアドレスを計算し、文字列に戻す
broadcast_num = bit32.bor(ip_num,bit32.bnot(sub_num))
broadcast_adr = ipnum2ipadr(broadcast_num)

print(broadcast_adr)

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

スマートフォンの方は画面下部よりPC版に切り替えることをおすすめします

アクセス解析中

忍者アナライズ

GoogleAnalytics

編集にはIDが必要です

広告募集中