private void Socket_Check(float time) { if (test) { if (package.Count >= 2) { test = false; } } if (test) { return; } index++; // Debug.LogError ("Socket_Check -->> :: " + package.Count); if (package.Count >= 1) { count = package.Count; maxCount = Math.Max(count, maxCount); // long offset = ( System.DateTime.Now.Ticks - tick ) / 10000; // if (0 != tick) { // MediatorSystem.log("socketUpdate", offset); // // if (offset >= 150) { // MediatorSystem.log("socket大", offset); // } // // if (offset <= 50) { // MediatorSystem.log("socket小", offset); // } // // // } tick = System.DateTime.Now.Ticks; } // Debug.LogError ("Socket_Check"); MediatorSystem.log("count", package.Count + " " + count + " " + maxCount); while (package.Count != 0) { VoPackage vo = null; lock (package) { vo = package[0]; package.Remove(vo); } if (vo.isClear) { // LogMessage.instance.text.text += "此vo已经被清除过了!"; continue; } VoSocket v = new VoSocket(); // MediatorSystem.timeStart("SockettoDatas"); v.toDatas(vo.body); // MediatorSystem.getRunTime("SockettoDatas"); // Debug.LogError ("re -->> :: " + v.method); // if (v.method == NetBase.SOCKET_LOGIN) { // Check_Ping (); // } // if(v.method != NetBase.SOCKET_PING && v.method != "sync") // Log.debug("SocketReceive[" + this.ip + "]:" + JsonUtility.ToJson(v)); if (!vo.isClear) { if (call.ContainsKey(v.method)) { // Debug.LogError (v.method); SocketListener sl = call[v.method]; //try { // MediatorSystem.timeStart("execSocketData"); sl.Excute(v); // MediatorSystem.getRunTime("execSocketData"); //} catch(Exception e) { // Debug.Log(e.HelpLink); //} } } else { // Log.debug("Socket Data Is Clear"); } vo.Clear(); } if (index % 500 == 0) { maxCount = 0; tick2 = 0; } }