Example #1
0
        public byte[] Init(Stream inputStream, string httpMethod, uint user_id)
        {
            byte[] bytes = new byte[inputStream.Length];
            inputStream.Read(bytes, 0, bytes.Length);

            //设置当前流的位置为流的开始
            inputStream.Seek(0, SeekOrigin.Begin);

            object obj = SerializationHelper.Deserialize(NetMessageDef.RequestLogin, bytes);

            protos.Login.RequestLogin requestLogin = new protos.Login.RequestLogin();

            protos.ReturnMessage.ResDefaultInfo resInfo = new protos.ReturnMessage.ResDefaultInfo();

            if (string.IsNullOrEmpty(requestLogin.account))
            {
                resInfo.results = 0;
                resInfo.details = "账号不能为空";
            }
            else if (string.IsNullOrEmpty(requestLogin.password))
            {
                resInfo.results = 0;
                resInfo.details = "密码不能为空";
            }

            Model.Users userModle = new BLL.Users().GetModel(requestLogin.account, requestLogin.password);
            if (userModle != null)
            {
                resInfo.results = 1;
                resInfo.details = userModle.ID.ToString();
            }
            else
            {
                resInfo.results = 0;
                resInfo.details = "账号或密码错误";
            }

            return(SerializationHelper.Serialize(new MuffinMsg(NetMessageDef.ResponseReturnDefaultInfo, resInfo)));
        }
Example #2
0
        /// <summary>
        /// 序列化成proto
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static byte[] Serialize(MuffinMsg msg)
        {
            switch (msg.cmdId)
            {
            case NetMessageDef.RequestLogin:
            {
                protos.Login.RequestLogin request = msg.pBObject as protos.Login.RequestLogin;
                MemoryStream memStream            = new MemoryStream();
                ProtoBuf.Serializer.Serialize <protos.Login.RequestLogin>(memStream, request);
                byte[] x = memStream.ToArray();
                memStream.Close();
                return(x);
            }

            case NetMessageDef.RequestCreateAccount:
            {
                protos.Login.RequestCreateAccount request = msg.pBObject as protos.Login.RequestCreateAccount;
                MemoryStream memStream = new MemoryStream();
                ProtoBuf.Serializer.Serialize <protos.Login.RequestCreateAccount>(memStream, request);
                byte[] x = memStream.ToArray();
                memStream.Close();
                return(x);
            }

            case NetMessageDef.RequestGetRole:
            {
                protos.Login.RequestGetRole request = msg.pBObject as protos.Login.RequestGetRole;
                MemoryStream memStream = new MemoryStream();
                ProtoBuf.Serializer.Serialize <protos.Login.RequestGetRole>(memStream, request);
                byte[] x = memStream.ToArray();
                memStream.Close();
                return(x);
            }

            case NetMessageDef.ResponseGetRole:
            {
                protos.Login.ResponseGetRole request = msg.pBObject as protos.Login.ResponseGetRole;
                MemoryStream memStream = new MemoryStream();
                ProtoBuf.Serializer.Serialize <protos.Login.ResponseGetRole>(memStream, request);
                byte[] x = memStream.ToArray();
                memStream.Close();
                return(x);
            }

            case NetMessageDef.ResponseReturnDefaultInfo:
            {
                protos.ReturnMessage.ResDefaultInfo request = msg.pBObject as protos.ReturnMessage.ResDefaultInfo;
                MemoryStream memStream = new MemoryStream();
                ProtoBuf.Serializer.Serialize <protos.ReturnMessage.ResDefaultInfo>(memStream, request);
                byte[] x = memStream.ToArray();
                memStream.Close();
                return(x);
            }

            case NetMessageDef.RequestGetFriendList:
            {
                protos.friend.ReqGetFriendList request = msg.pBObject as protos.friend.ReqGetFriendList;
                MemoryStream memStream = new MemoryStream();
                ProtoBuf.Serializer.Serialize <protos.friend.ReqGetFriendList>(memStream, request);
                byte[] x = memStream.ToArray();
                memStream.Close();
                return(x);
            }

            case NetMessageDef.ResponseFriendList:
            {
                protos.friend.ResFriendList request = msg.pBObject as protos.friend.ResFriendList;
                MemoryStream memStream = new MemoryStream();
                ProtoBuf.Serializer.Serialize <protos.friend.ResFriendList>(memStream, request);
                byte[] x = memStream.ToArray();
                memStream.Close();
                return(x);
            }

            default:
            {
                Console.WriteLine("MuffinMsg.Serialize: unhandled cmdId->" + msg.cmdId.ToString());
                return(null);
            }
            }
        }