protected virtual void Updated() //TODO xx { if (toReconnect) //连接成功 { toReconnect = false; queue_LogError.Enqueue(Enum_NetEvent.WifiOff.ToString()); } while (queue_cmd.Count > 0) //此处必需在主线程中运行,否则报错 e.g.:: get_realtimeSinceStartup can only be called from the main thread. { DebugTool.LogYellow("[TCP] [rcv] | queue_cmd.Count : " + queue_cmd.Count); short cmd = queue_cmd.Dequeue(); DebugTool.LogYellow("[TCP] [rcv] cmd:::::::::: " + cmd + " | queue_cmd.Count remain : " + queue_cmd.Count); queue_LogError.Enqueue("[TCP] [rcv] cmd:::::::::: " + cmd + " | queue_cmd.Count remain : " + queue_cmd.Count); CreateMessage(cmd); // cmd short -> int } // if (queue_LogError.Count > 0) { string log = queue_LogError.Dequeue(); // DebugTool.Log (">>>>>>>>>> " + log); xxx 暂时去掉,以便调试UDP if (log == Enum_NetEvent.WifiOff.ToString()) { TimerMgr.HeartBeatStop(); Facade_Base.instance.DispatchEvent(new CEvent(Enum_NetEvent.WifiOff.ToString(), null)); // 显示出WIFI标识 Socket_Create_Connection(); //重新创建连接 } else if (log == Enum_NetEvent.WifiOn.ToString()) { // TimerMgr.HeartBeatStart (); Facade_Base.instance.DispatchEvent(new CEvent(Enum_NetEvent.WifiOn.ToString(), null)); } else if (log == Enum_Base.SocketClosed.ToString()) { LoginInfo.LoginState = false; Facade_Base.instance.DispatchEvent(new CEvent(Enum_Base.SocketClosed.ToString(), null)); } } }