以下の内容はhttps://redhologerbera.hatenablog.com/entry/2024/12/22/233641より取得しました。


UnityでIPアドレスを取得する

本日はUnity枠です。

Unityでsocket通信を行う場合は相手のIPアドレスを指定する必要があります。

クラウドなどでサーバーを公開しない場合はIPローカルネットワークもしくはVPN経由でのアドレスを使用する必要がありますが、今回はUnityアプリケーション内でIPアドレスを取得する実装を試します。

〇環境

・Unity2022.3.26f1

・Windows11PC

IPアドレスの取得

IPアドレスを取得するにはDns.GetHostEntry(Dns.GetHostName());を使用します。

このの処理は、現在のマシンのホスト名を取得し、そのホスト名に関連付けられたIPアドレス情報を取得します。

今回はforeach文を使用することで1つ1つIPを抽出することができます。

        string GetLocalIPAddress()
        {
            var host = Dns.GetHostEntry(Dns.GetHostName());
            foreach (var ip in host.AddressList)
            {
                if (ip.AddressFamily == AddressFamily.InterNetwork)
                {
                    return ip.ToString();
                }
            }

            throw new System.Exception("No network adapters with an IPv4 address in the system!");
        }

ip.AddressFamily == AddressFamily.InterNetworkではIPアドレスのアドレスファミリーがIPv4であるかをチェックしています。

これを使用することで現在のデバイスIPアドレスを取得できます。

本日は以上です。




以上の内容はhttps://redhologerbera.hatenablog.com/entry/2024/12/22/233641より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14