4

私は Unity 5.3.3f1 Personal を使用しており、私のコードでは Unity Ping クラス ( http://docs.unity3d.com/ScriptReference/Ping.html ) を使用する必要があります。内部の Unity Player ( http://i.stack.imgur.com/0kHmN.jpg ) でのビルドと実行は適切に実行されます。ただし、このソリューションを WebGL にエクスポートしようとすると、次のエラーが表示されます。

「エラー CS0246: 型または名前空間名 'Ping' が見つかりませんでした。using ディレクティブまたはアセンブリ参照がありませんか?」

これは、関連する Ping コードを含む C# ソース コードです。

 using UnityEngine;
 using System.Collections;
 using System.Text;
 using System.Collections.Generic;
 using LitJson;

 public class PingScript : MonoBehaviour
 {
     string Url = null, pingAddress = "192.168.0.180";

     float pingStartTime;

     // Use this for initialization
     void Start()
     {        
         CheckServerIp();
         if (Url == null)
         {                        
             pingAddress = "192.168.1.210";
             CheckServerIp();
         }
         print(Url);
     }

     // Update is called once per frame
     void Update()
     {
         if (Url != null)
         {
             //Do something
         }
     }

     void CheckServerIp()
     {
         bool internetPossiblyAvailable;
         switch (Application.internetReachability)
         {
             case NetworkReachability.ReachableViaLocalAreaNetwork:
                 internetPossiblyAvailable = true;
                 break;
             default:
                 internetPossiblyAvailable = false;
                 break;
         }
         if (!internetPossiblyAvailable)
         {
             Url = null;
         }
         Ping ping = new Ping(pingAddress);
         pingStartTime = Time.time;
         if (ping != null)
         {            
             if (ping.isDone)
             {                
                 if (ping.time >= 0)
                 {                    
                     Url = "http://" + pingAddress + ":3200/api/pumpvalues";
                 }
             }
         }
     }
 }
4

1 に答える 1

4

Unity WebGLでサポートされている唯一のネットワークは、WWWUnityWebRequestクラスです。サーバーに接続して接続が成功したかどうかを確認することで、サーバーが使用可能かどうかを確認する独自の ping 関数を WWW で作成することもできます。

于 2016-04-11T08:34:06.510 に答える