Esempio n. 1
0
        private void HandleMsg(Conn conn, ProtocolBase protoBase)
        {
            string name       = protoBase.GetName();
            string methodName = "Msg" + name;

            //连接协议分发
            if (conn.player == null || name == "HeatBeat" || name == "Logout")
            {
                MethodInfo mm = handleConnMsg.GetType().GetMethod(methodName);
                if (mm == null)
                {
                    string str = "[警告]HandleMsg没有处理连接方法 ";
                    Console.WriteLine(str + methodName);
                    return;
                }
                Object[] obj = new object[] { conn, protoBase };
                Console.WriteLine("[处理链接消息]" + conn.GetAdress() + " :" + name);
                mm.Invoke(handleConnMsg, obj);
            }
            //角色协议分发
            else
            {
                MethodInfo mm = handlePlayerMsg.GetType().GetMethod(methodName);
                if (mm == null)
                {
                    string str = "[警告]HandleMsg没有处理玩家方法 ";
                    Console.WriteLine("str + methodName");
                    return;
                }
                Object[] obj = new object[] { conn.player, protoBase };
                Console.WriteLine("[处理玩家消息]" + conn.player.id + " :" + name);
                mm.Invoke(handlePlayerMsg, obj);
            }
        }
Esempio n. 2
0
        //
        private void HandleMsg(Conn conn, ProtocolBase protocolBase)
        {
            string name       = protocolBase.GetName();
            string methodName = "Msg" + name;

            // Console.WriteLine("[收到协议] : " + name);
            //连接协议分发
            if (conn._player == null || name == "HeatBeat" || name == "Logout" || name == "Login")
            {
                MethodInfo mm = HandleConnMsg.GetType().GetMethod(methodName);
                if (mm == null)
                {
                    Console.WriteLine("[warning]HandleConnMsg 没有处理连接方法: " + methodName);
                    return;
                }
                Object[] obj = new object[] { conn, protocolBase };
                Console.WriteLine("[处理连接消息]" + conn.GetAdress() + ":" + name);
                mm.Invoke(HandleConnMsg, obj);
            }
            //角色协议分发
            else
            {
                MethodInfo mm = HandlePlayerMsg.GetType().GetMethod(methodName);
                if (mm == null)
                {
                    Console.WriteLine("[warning]HandlePlayerMsg 没有处理连接方法: " + methodName);
                    return;
                }
                Object[] obj = new object[] { conn._player, protocolBase };
                Console.WriteLine("[处理玩家消息]" + conn._player.id + ":" + name);
                mm.Invoke(HandlePlayerMsg, obj);
            }

            // //处理心跳
            // if (name == "HeatBeat"){
            //     Console.WriteLine("[更新心跳时间] : " + conn.GetAdress());
            //     conn._lastTickTime = Sys.GetTimeStamp();
            // }
            // //回射
            // Send(conn,protocolBase);
        }