private IEnumerator Download(string _url) { //设置保存路径 string path = Application.persistentDataPath + "/wod.apk"; Debug.Log(path); //这个方法可以新建一个线程运行,来提高效率和降低卡顿,这里就不写了 _url = IPV6.FinalUrl(_url); // Debug.Log("IPV6 URL:" + _url); // _url = "http://[2001:2:0:1baa::74d3:1906]:10091/client/checkversion?version=1.0.0.0&areaId=11001&serverId=11011"; Uri url = new Uri(_url); Debug.Log("Request URL:" + url.AbsoluteUri); //创建接受 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.ProtocolVersion = HttpVersion.Version10; request.Timeout = 5000; //以下为接收响应的方法 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); byte[] bytes = new byte[response.ContentLength]; using (Stream stream = response.GetResponseStream()) { stream.Read(bytes, 0, bytes.Length); stream.Flush(); Debug.Log(System.Text.Encoding.Default.GetString(bytes)); } yield return(null); Debug.Log("下载完成 finished"); }
public static void compare(IPV6 obj1, IPV6 obj2) { for (int i = 0; i < obj1.list1.Count; i++) { //System.Console.Write("Ser = " + obj1.list1[i] + ", Deser = " + obj2.list1[i] + "\n"); Assert.AreEqual(obj1.list1[i].ToLower(), obj2.list1[i].ToLower()); } }
public static IPV6 buildObj() { IPV6 obj = new IPV6(); obj.list1.Add("255.102.0.25"); obj.list1.Add("ff:fabf:faf:f15f:f1ff:f2f:1f:f2"); obj.list1.Add("2001:db8::ff00:1:8329"); obj.list1.Add("f::"); obj.list1.Add("::1"); obj.list1.Add(""); return obj; }
public static void Main(String[] args) { System.Console.Write("Test IPv6 \n"); IPV6 ser = buildObj(); serialize(ser); byte[] res = deserialize(); IPV6 deser = new IPV6(); deser.deserialize(new MemoryStream(res)); compare(ser, deser); }
public void SocketClient(string serverIp, String serverPorts) { String newServerIp = ""; AddressFamily newAddressFamily = AddressFamily.InterNetwork; IPV6.GetIPType(serverIp, serverPorts, out newServerIp, out newAddressFamily); if (!string.IsNullOrEmpty(newServerIp)) { serverIp = newServerIp; } Socket socketClient = new Socket(newAddressFamily, SocketType.Stream, ProtocolType.Tcp); IAsyncResult asyncResult = socketClient.BeginConnect(newServerIp, 8000, null, null); bool isFinished = asyncResult.AsyncWaitHandle.WaitOne(30, false); Debug.Log("Socket AddressFamily :" + newAddressFamily.ToString() + "ServerIp:" + serverIp); //socketClient.Connect(serverIp, 8000); StartCoroutine(check(socketClient)); }
//Opciones remotas (APAGAR=1, REINICIAR)=2 public static void Remotos(Equipos equipo, int orden) { equipo.Ip = IPV6.Execute(equipo.Nombre); if (!equipo.Ip.Equals("0.0.0.0")) { try { String user = Decode.Execute(Roles.UserAdmin); String pass = Decode.Execute(Roles.PassAdmin); if (orden == 1) { Shutdown.Execute(user, pass, equipo.Ip); } if (orden == 2) { Restart.Execute(user, pass, equipo.Ip); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } }