0

免責事項: Unity\C# ネットワーキングについてはほとんど何も知りません

Unity エア コンソール パッケージの Airconsole/scripts/editor/Extensions.cs にあるスクリプトには、メソッド GetLocalAddress() が含まれています。

この方法では、私の Mac (MacOS 10.12.1、Unity 5.5.0f3) ではランタイム エラーが発生しますが、友人の Windows マシン (Win10、Unity 5.5.0f3) では発生しません。

エラー: SocketException: No such host is known, System.Net.Dns.GetHostByName (System.String hostName)

エラーの原因となっている行は次のとおりです。

foreach (IPAddress ip in Dns.GetHostEntry(Dns.GetHostName()).AddressList) {

Dns.GetHostName() は自分のコンピュータ名「MacMini」を返しますが、これを引数として Dns.GetHostEntry() に渡すとエラーが発生します。

開発中にこれを回避するために、GetLocalAddress() メソッドに含まれるコードを次の 1 行に置き換えました。

return UnityEngine.Network.player.ipAddress.ToString();

Unity プロジェクトは、ブラウザで正しく動作する仮想コントローラーで実行されます。

この問題の原因について何か考えはありますか?

4

1 に答える 1