//------------------------------------------------------------------------- private void __Update(CNetTCPSocketConnect connect) { if (null == connect) { return; } int nID = SNetCommon.NUNE_VALUE; // 进入连接器 状态回调 ENUM_SOCKET_STATE sState = connect.Update(out nID); if (nID == m_ReadyToConnectSID) { m_currentConnectState = sState; m_currentConnectedSID = m_ReadyToConnectSID; } // 消息取出来 外部进行消息分发 if (connect.IsConnect()) { List <SocketNetPacket> packList = new List <SocketNetPacket>(); connect.GetAllReceivePack(packList); foreach (SocketNetPacket tempack in packList) { NetMessageRecieveHandle.GetInstance().OnRecvMessage(tempack); } } }
//------------------------------------------------------------------------- public string ToNetWorkString() { StringBuilder strBuilder = new StringBuilder(); strBuilder.Append("have no connect!"); uint unSendData = 0; uint unRecvData = 0; CNetTCPSocketConnect c = null; if (m_TCPConnects.TryGetValue(m_currentConnectedSID, out c)) { if (null != c) { strBuilder.Remove(0, strBuilder.Length); unSendData = c.GetSendTotalBytes(); unRecvData = c.GetRectTotalBytes(); if (c.IsConnect()) { strBuilder.Append("Connect:" + c.GetIP() + ":" + c.GetPort()); } else { strBuilder.Append("Connect Failed "); } strBuilder.Append(" - "); strBuilder.Append(unSendData); strBuilder.Append("/"); strBuilder.Append(unRecvData); } } return(strBuilder.ToString()); }
//------------------------------------------------------------------------- public bool SendMessage(int nMessageID, Byte[] data, int id = -1) { if (null == data) { return(false); } // 如果还没刷新 就手动刷新一次 //if (SNetCommon.NUNE_VALUE == m_currentConnectedSID) //{ // Update(); //} int tempID = id; if (id == SNetCommon.NUNE_VALUE) { tempID = m_currentConnectedSID; } // 防止 系统尚未update connect 但是就sendMessage了 if (id == SNetCommon.NUNE_VALUE) { tempID = m_ReadyToConnectSID; } CNetTCPSocketConnect c = null; if (m_TCPConnects.TryGetValue(tempID, out c)) { if (null != c || c.IsConnect()) { c.SendMessage(nMessageID, data); return(true); } } Debug.Log("CNetWork::SendMessage false id = " + id); return(false); }
//------------------------------------------------------------------------- private void __Update(CNetTCPSocketConnect connect) { if (null == connect) { return; } int nID = SNetCommon.NUNE_VALUE; // 进入连接器 状态回调 ENUM_SOCKET_STATE sState = connect.Update(out nID); if (nID == m_ReadyToConnectSID) { m_currentConnectState = sState; m_currentConnectedSID = m_ReadyToConnectSID; } // 消息取出来 外部进行消息分发 if (connect.IsConnect()) { List<SocketNetPacket> packList = new List<SocketNetPacket>(); connect.GetAllReceivePack(packList); foreach (SocketNetPacket tempack in packList) { NetMessageRecieveHandle.GetInstance().OnRecvMessage(tempack); } } }