public static void startCon() { sc = new vesal_network.vesal_socket(); if (sc.connect("127.0.0.1", port)) { // DebugLog.DebugLogInfo("I'm Unity,Save me!"); // int tmp = sc._sock.Send(Encoding.UTF8.GetBytes("I'm Unity,Save me!"), SocketFlags.None); } else { //连接失败重连 startCon(); } pc = new vesal_network.packet(); byte[] bytes = new byte[1024]; while (true) { if (sc != null && sc._sock != null && !sc._sock.Poll(1000, SelectMode.SelectRead)) { int receiveNumber = sc._sock.Receive(bytes); string message = Encoding.UTF8.GetString(bytes, 0, receiveNumber); switch (message) { case "quit": stopThread(); break; case "": UnityEngine.Debug.Log("linsten"); break; default: UnityEngine.Debug.Log("得到参数:" + message); // if(PublicClass.appOpera!=null) // PublicClass.appOpera.Get_app(message); rcvMessage = message; break; } // UnityEngine.Debug.Log(string.Format(" 接收客户端{0}消息{1}", sc._sock.RemoteEndPoint.ToString(), message)); // try // { // rcvMessage = "断开连接"; // thread.Abort(); // sc.close(); // break; // } // catch // { // } // int tmp = sc._sock.Send(Encoding.UTF8.GetBytes(message)); // UnityEngine.Debug.Log(tmp + "--" + message.Equals("disconnect") + "--" + (message == "disconnect")); } //Thread.SpinWait(1); } }
public static void Send_message(string str) { sc = new vesal_network.vesal_socket(); if (sc.connect("127.0.0.1", port)) { // DebugLog.DebugLogInfo("I'm Unity,Save me!"); int tmp = sc._sock.Send(Encoding.UTF8.GetBytes(str), SocketFlags.None); } else { //连接失败重连 Send_message(str); } }