Example #1
0
 static public MessageRecieveHandle Instance()
 {
     if (m_Instance == null)
     {
         m_Instance = new MessageRecieveHandle();
     }
     return(m_Instance);
 }
Example #2
0
    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);
    }
Example #3
0
 private void InstanceNetWork()
 {
     //注册监听消息;/
     MessageRecieveHandle.Instance().RegisterMessageHandler(COMMANDS, OnRecvMessage);
 }