【Unity】端末自分自身のipアドレスを取得する

OverView

Unity上で端末のipアドレスを取得する方法のメモ書き.本当にただのメモ書きなので,自分で欲しい機能があったら,適宜書き換えて下さい(o・ω・o)

今の状態だとゲッターも書いてないです.

Environment

  • Unity2018.2.14f1
  • Windows10

Method

GetIPAddress!なんてものは…

端末にはネットワークインターフェースがたくさんくっついている.

Ethernet,Wi-Fiをはじめ,Bluetooth,仮想マシンなどインストールしている端末には仮想ネットワークインターフェース,Wiresharkがインストールされている端末にはNpcap Loopback Adapterとか…

それらの中で知りたいインターフェース(だいたいはWi-Fi)を指定して現在のipアドレスを取得する必要があるため,ちょっと面倒くさいのだ…

以下サンプルソース

Sample.cs

NetwordInterfaceData.cs

使い方

1. サンプルソースを2つコピペ

2. 適当なゲームオブジェクトにSample.csをアタッチ

3. 適当なDropdownを作成

4. DropdownのOnValueChangedにメソッドを指定

DropdownのOnValueChangedにSample.csのOnUpdatedSelectIntarfaceDropdownValueを指定 

5. DropdownをSample.csの変数にアタッチ

6. 再生

SampleクラスのGetIpAddress()を実行することで変数_ipAddressに現在のipAddressが格納される.

Dropdownにはインターフェース一覧が格納されるので,ipAddressを取得したいインターフェースをDropdownから選択することで指定したインターフェースのipAddressが取得される.

Ref.

https://dobon.net/vb/dotnet/internet/udpclient.html

2件のコメント

  • Sampleクラスの44行目が&&から始まってますがこれは正しいのでしょうか?

    • 普通にリファクタミスです。記事見て頂きありがとうございます!修正しました。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です