Esempio n. 1
0
        public void Send <TReq>(uint cmd, TReq req)
        {
            NetMessage msg = new NetMessage();

            msg.head.index = 0;
            msg.head.cmd   = cmd;
            msg.head.uid   = m_uid;
            msg.Pack(req, m_SendBuff);
            m_conn.Send(m_SendBuff.GetBuffer(), (int)m_SendBuff.Size);
        }
Esempio n. 2
0
        public void Send <TMsg>(ISession session, uint index, uint cmd, TMsg msg)
        {
            Debuger.Log("index:{0}, cmd:{1}", index, cmd);

            NetMessage msgobj = new NetMessage();

            msgobj.head.index = index;
            msgobj.head.cmd   = cmd;
            msgobj.head.uid   = session.uid;
            msgobj.Pack(msg, m_SendBuff);
            session.Send(m_SendBuff.GetBuffer(), (int)m_SendBuff.Size);
        }
Esempio n. 3
0
        public void Send <TReq, TRsp>(uint cmd, TReq req, Action <TRsp> onRsp, float timeout = 30,
                                      Action <NetErrorCode> onErr = null)
        {
            NetMessage msg = new NetMessage();

            msg.head.index = MessageIndexGenerator.NewIndex();
            msg.head.cmd   = cmd;
            msg.head.uid   = m_uid;
            msg.Pack(req, m_SendBuff);
            m_conn.Send(m_SendBuff.GetBuffer(), (int)m_SendBuff.Size);

            AddListener(cmd, typeof(TRsp), onRsp, msg.head.index, timeout, onErr);
        }
Esempio n. 4
0
        public void Invoke(ISession session, string name, params object[] args)
        {
            Debuger.Log("->Session[{0}] {1}({2})", session.id, name, args.ToListString());

            RPCMessage rpcmsg = new RPCMessage();

            rpcmsg.name = name;
            rpcmsg.args = args;

            NetMessage msg = new NetMessage();

            msg.head = new ProtocolHead();
            msg.Pack(rpcmsg, m_SendBuff);
            m_currInvokingSession.Send(m_SendBuff.GetBuffer(), (int)m_SendBuff.Size);
        }
Esempio n. 5
0
        public void ReturnError(params object[] args)
        {
            var name = "On" + m_currInvokingName + "Error";

            RPCMessage rpcmsg = new RPCMessage();

            rpcmsg.name = name;
            rpcmsg.args = args;

            NetMessage msg = new NetMessage();

            msg.head = new ProtocolHead();
            msg.Pack(rpcmsg, m_SendBuff);
            m_currInvokingSession.Send(m_SendBuff.GetBuffer(), (int)m_SendBuff.Size);
        }
Esempio n. 6
0
        public void Invoke(string name, params object[] args)
        {
            Debuger.Log("->Connection[{0}] {1}({2})", m_conn.id, name, args);

            RPCMessage rpcmsg = new RPCMessage();

            rpcmsg.name = name;
            rpcmsg.args = args;

            NetMessage msg = new NetMessage();

            msg.head     = new ProtocolHead();
            msg.head.uid = m_uid;
            msg.Pack(rpcmsg, m_SendBuff);
            m_conn.Send(m_SendBuff.GetBuffer(), (int)m_SendBuff.Size);
        }
Esempio n. 7
0
        public void Return(params object[] args)
        {
            if (m_conn != null)
            {
                var name = "On" + m_currInvokingName;
                Debuger.Log("->Connection[{0}] {1}({2})", m_conn.id, name, args);

                RPCMessage rpcmsg = new RPCMessage();
                rpcmsg.name = name;
                rpcmsg.args = args;

                NetMessage msg = new NetMessage();
                msg.head     = new ProtocolHead();
                msg.head.uid = m_uid;
                msg.Pack(rpcmsg, m_SendBuff);
                m_conn.Send(m_SendBuff.GetBuffer(), (int)m_SendBuff.Size);
            }
        }
Esempio n. 8
0
        public void Invoke(ISession[] listSession, string name, params object[] args)
        {
            Debuger.Log("->Session<Cnt={0}> {1}({2})", listSession.Length, name, args.ToListString());

            RPCMessage rpcmsg = new RPCMessage();

            rpcmsg.name = name;
            rpcmsg.args = args;

            NetMessage msg = new NetMessage();

            msg.head = new ProtocolHead();
            msg.Pack(rpcmsg, m_SendBuff);

            for (int i = 0; i < listSession.Length; i++)
            {
                listSession[i].Send(m_SendBuff.GetBuffer(), (int)m_SendBuff.Size);
            }
        }