static public MessageRecieveHandle Instance() { if (m_Instance == null) { m_Instance = new MessageRecieveHandle(); } return(m_Instance); }
void GetDataCallFun(HttpDataCmp cmp, byte[] text) { Debuger.LogWarning("get back http " + cmp.m_msgID + " "); bool isNeed = MsgSet.IsNeedTipByMsgID((int)cmp.m_msgID); if (cmp.isNeedTipWaite || isNeed) { GTSenceManage.Instance().EndLoadData(); } if (text != null) { NetPacket packet = null; int bodySize = text.Length - NetPacket.PACK_HEAD_SIZE; if (bodySize < 0) { bodySize = 0; Debuger.LogError("服务器返回的字节 不够包头 " + cmp.m_msgID.ToString()); packet = new NetPacket((int)cmp.m_msgID, 0); } else { //读取包身数据; Byte[] data = new Byte[bodySize]; Array.Copy(text, NetPacket.PACK_HEAD_SIZE, data, 0, data.Length); //读取包头数据; Byte[] msgIDData = new Byte[NetPacket.PACK_HEAD_SIZE]; Array.Copy(text, 0, msgIDData, 0, msgIDData.Length); packet = new NetPacket((int)cmp.m_msgID, data.Length); packet.setPackHead(msgIDData); packet.setData(data); } MessageRecieveHandle.Instance().OnRecvMessage(cmp.m_msgID, packet); } else { Debug.Log("call back error"); } MonoBehaviour.Destroy(cmp.gameObject); }
private void InstanceNetWork() { //注册监听消息;/ MessageRecieveHandle.Instance().RegisterMessageHandler(COMMANDS, OnRecvMessage); }