Unityで自分のIPアドレスを取得する(iOS/UWP対応)
Unityで自分のIPアドレスを取得したい。 いろんな情報が載っていたのですが、iOSでは取れなかったりはまりました。 結果、以下の方法で取れました。
using System.Net.Sockets;//必要です。 using System.Net;//これもいるかもしれない (...) public static IPAddress myAddr = IPAddress.Parse (UnityEngine.Network.player.ipAddress); (...)
iOSとWebPlayerで確認済み。 出来ちゃえば簡単なんですが・・
UWPにも対応するならこんな感じ
using UnityEngine; using System.Net; using System.Net.NetworkInformation; using System.Linq; using System.Collections; #if NETFX_CORE using Windows.Networking; using Windows.Networking.Connectivity; #endif public class NetworkUtils : MonoBehaviour { public static string GetMyIPAddress(){ #if !NETFX_CORE return UnityEngine.Network.player.ipAddress; #else string ip = null; foreach (HostName localHostName in NetworkInformation.GetHostNames()) { if (localHostName.IPInformation != null) { if (localHostName.Type == HostNameType.Ipv4) { ip = localHostName.ToString(); break; } } } return ip; #endif } }