Ich verwende Unity 5.3.3f1 Personal und in meinen Code muss ich die Unity Ping-Klasse (http://docs.unity3d.com/ScriptReference/Ping.html) verwenden. Das Erstellen und Ausführen im internen Unity Player (http://i.stack.imgur.com/0kHmN.jpg) wird ordnungsgemäß ausgeführt. Jedoch wenn ich versuche, diese Lösung zu WebGL zu exportieren, erhalte ich die nächsten Fehler:Unity-Lösung für WebGL exportieren
"error CS0246: The type or namespace name 'Ping' could not be found. Are you missing a using directive or an assembly reference?"
Dies ist der C# Quellcode mit dem zugehörigen Ping-Code:
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";
}
}
}
}
}
WebGL hat viele Einschränkungen und seltsame Fehler. Sie können denselben Code in JavaScript schreiben und ihn von Unity aus remote aufrufen. Das wird sicher funktionieren. [Dokumente zum Schreiben von Browser-Plugins für Unity] (http://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html) –