Esempio n. 1
0
        public void SendProtobufCmd(int serviceType, int cmdType, ProtoBuf.IExtensible body = null)
        {
            var cmdPackage = CmdPackageProtocol.PackageProtobuf(serviceType, cmdType, body);

            if (cmdPackage == null)
            {
                return;
            }
            var tcpPackage = TcpProtocol.Pack(cmdPackage);

            if (tcpPackage == null)
            {
                return;
            }

            try
            {
                this.clientSocket.BeginSend(
                    tcpPackage,
                    0,
                    tcpPackage.Length,
                    SocketFlags.None,
                    OnAfterSend, this.clientSocket);
            }
            catch (Exception e)
            {
                OnConnectError(e);
            }
        }
Esempio n. 2
0
        public void UdpSendProtobufCmd(int serviceType, int cmdType, ProtoBuf.IExtensible body = null)
        {
            var cmdPackage = CmdPackageProtocol.PackageProtobuf(serviceType, cmdType, body);

            if (cmdPackage == null)
            {
                return;
            }

            try
            {
                this.udpSocket.BeginSendTo(
                    cmdPackage,
                    0,
                    cmdPackage.Length,
                    SocketFlags.None,
                    this.udpRemotePoint,
                    OnUdpSend,
                    this.udpSocket);
            }
            catch (Exception e)
            {
                OnError(e);
            }
        }
Esempio n. 3
0
        private void OnServerReturn(CmdPackageProtocol.CmdPackage pk)
        {
            switch ((ChatCmd)pk.cmdType)
            {
            case ChatCmd.eOnUserExit:
                var onExit = CmdPackageProtocol.ProtobufDeserialize <OnUserExit>(pk.body);
                this.AddStatus(onExit.ip + ":" + onExit.port + " 离开聊天室");
                break;

            case ChatCmd.eOnUserLogin:
                var onlogin = CmdPackageProtocol.ProtobufDeserialize <OnUserExit>(pk.body);
                this.AddStatus(onlogin.ip + ":" + onlogin.port + "加入聊天室");
                break;

            case ChatCmd.eOnSendMsg:
                var onSend = CmdPackageProtocol.ProtobufDeserialize <OnSendMsg>(pk.body);
                this.AddTalkInfo(onSend.ip, onSend.port, onSend.content);
                break;

            case ChatCmd.eExitRes:
                var exitRes = CmdPackageProtocol.ProtobufDeserialize <ExitRes>(pk.body);
                if (1 == exitRes.status)
                {
                    this.AddStatus("顺利离开聊天室");
                }
                else
                {
                    this.AddStatus("您早已不再聊天室");
                }

                break;

            case ChatCmd.eLoginRes:

                var res = CmdPackageProtocol.ProtobufDeserialize <LoginRes>(pk.body);
                if (1 == res.status)
                {
                    this.AddStatus("加入成功");
                }
                else
                {
                    this.AddStatus("加入失败");
                }

                break;

            case ChatCmd.eSendMsgRes:
                var sendReq = CmdPackageProtocol.ProtobufDeserialize <SendMsgRes>(pk.body);
                if (1 == sendReq.status)
                {
                    this.AddTalkSelf("127.0.0.1", 6080, this.talkContent);
                }
                else
                {
                    this.AddStatus("发送失败");
                }
                break;
            }
        }
Esempio n. 4
0
 private void OnAuthPackage(CmdPackageProtocol.CmdPackage pk)
 {
     switch ((ChatCmd)pk.cmdType)
     {
     case ChatCmd.eLoginRes:
         print("LoginRes.Status:" + CmdPackageProtocol.ProtobufDeserialize <LoginRes>(pk.body).status);
         break;
     }
 }
        private void OnLogicFrame(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <LogicFrame>(pkg.body);

            if (null == res)
            {
                return;
            }
            CEventCenter.BroadMessage(Message.OnLogicFrame, res);
        }
        private void OnUdpTest(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <UdpTest>(pkg.body);

            if (null == res)
            {
                return;
            }
            Debug.Log("recv udptest: " + res.content);
        }
Esempio n. 7
0
        private void OnPlayerEnterRoom(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <PlayerEnterRoom>(pkg.body);

            if (null == res)
            {
                return;
            }
            Debug.Log("other player come: " + res.unick);
        }
Esempio n. 8
0
        private void OnEnterRoom(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <EnterRoom>(pkg.body);

            if (null == res)
            {
                return;
            }

            Debug.Log("Enter room: [" + res.zoneid + " : " + res.roomid + "]");
        }
        private void OnExitRoomReturn(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <ExitRoomRes>(pkg.body);

            if (null == res)
            {
                return;
            }
            Debug.Log("exit room States: " + res.status);
            if (res.status == Responce.Ok)
            {
                NetInfo.SetZoneId(-1);
                CEventCenter.BroadMessage(Message.LeaveRoomSuccess);
            }
        }
        private void OnPlayerEnterRoom(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <PlayerEnterRoom>(pkg.body);

            if (null == res)
            {
                return;
            }

//            Debug.Log("other player come: " + res.unick);
            //添加其他玩家信息
            NetInfo.playerAuthInfos.Add(res);
            //广播消息
            CEventCenter.BroadMessage(Message.PlayerEnterRoom, res);
        }
        private void OnGameStart(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <GameStart>(pkg.body);

            if (null == res)
            {
                return;
            }
            NetInfo.playerMatchInfos = res.players;
            foreach (var VARIABLE in res.players)
            {
                Debug.Log($"PlayerInfo side[{VARIABLE.side}], seatid[{VARIABLE.seatid}], heroid[{VARIABLE.heroid}]");
            }
            CEventCenter.BroadMessage(Message.GameStart);
        }
Esempio n. 12
0
        private void OnLoginLogicReturn(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <LoginLogicRes>(pkg.body);

            if (null == res)
            {
                return;
            }
            if (res.status != Responce.Ok)
            {
                Debug.Log("LoginLogicRes.Status:" + res.status);
                return;
            }

            CEventCenter.BroadMessage(Message.LoginLogicServerSuccess);
        }
Esempio n. 13
0
        private void OnEnterZoneReturn(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <EnterZoneRes>(pkg.body);

            if (null == res)
            {
                return;
            }
            if (res.status != Responce.Ok)
            {
                Debug.Log("EnterZoneRes.Status:" + res.status);
                return;
            }

            Debug.Log("Enter zone success");
        }
        private void OnEnterRoom(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <EnterRoom>(pkg.body);

            if (null == res)
            {
                return;
            }


//            Debug.Log("Enter room: [" + res.zoneid + " : " + res.roomid+"]");
            NetInfo.SetRoom(res.roomid);
            NetInfo.SetZoneId(res.zoneid);
            NetInfo.SetSeat(res.seatid);
            NetInfo.SetSide(res.side);
        }
Esempio n. 15
0
        /// <summary>
        /// 账号升级返回
        /// </summary>
        /// <param name="pk"></param>
        private void OnAccountUpgradeReturn(CmdPackageProtocol.CmdPackage pk)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <AccountUpgradeRes>(pk.body);

            if (null == res)
            {
                return;
            }

            Debug.Log("AccountUpgradeRes.Status: " + res.status);
            CEventCenter.BroadMessage(Message.UpgradeGuest, res.status);

            if (res.status == Responce.Ok)
            {
                NetInfo.SetIsGuest(false);
            }
        }
Esempio n. 16
0
        private void OnRecvLoginBonuesReturn(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <RecvLoginBonuesRes>(pkg.body);

            if (null == res)
            {
                return;
            }
            Debug.Log("RecvLoginBonues.Status:" + res.status);

            if (res.status != Responce.Ok)
            {
                return;
            }

            NetInfo.RecvLoginBonues();
            CEventCenter.BroadMessage(Message.SyncUgameInfo);
        }
Esempio n. 17
0
        private void OnRecvCmd(byte[] pkgData, int rawDataStart, int rawDataLen)
        {
            CmdPackageProtocol.CmdPackage msg;

            //解析
            if (!CmdPackageProtocol.UnpackProtobuf(pkgData, rawDataStart, rawDataLen, out msg))
            {
                return;
            }

            if (null == msg)
            {
                return;
            }

            //将收到消息放到事件队列
            lock (queueLock)
            {
                this.packageQueue.Enqueue(msg);
            }
        }
Esempio n. 18
0
        /// <summary>
        /// 账号登陆返回
        /// </summary>
        /// <param name="pk"></param>
        private void OnUserLoginReturn(CmdPackageProtocol.CmdPackage pk)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <UserLoginRes>(pk.body);

            if (null == res)
            {
                return;
            }
            if (res.status != Responce.Ok)
            {
                Debug.LogWarning("UserLogin status: " + res.status);
                return;
            }

            //保存用户信息
            NetInfo.SaveInfo(res.uinfo, false);
            //同步网络信息
            CEventCenter.BroadMessage(Message.SyncAuthInfo);

            EnterGame();
        }
        private void OnPlayerExitRoom(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <PlayerExitRoom>(pkg.body);

            if (null == res)
            {
                return;
            }

//            Debug.Log("player leave " + res.seatid);

            for (int i = 0; i < NetInfo.playerAuthInfos.Count; i++)
            {
                if (NetInfo.playerAuthInfos[i].seatid == res.seatid)
                {
                    CEventCenter.BroadMessage(Message.PlayerExitRoom, i);
                    NetInfo.playerAuthInfos.RemoveAt(i);
                    return;
                }
            }
        }
Esempio n. 20
0
        public void SendJsonCmd(int serviceType, int cmdType, string jsonStr)
        {
            var cmdPackage = CmdPackageProtocol.PackageJson(serviceType, cmdType, jsonStr);

            if (cmdPackage == null)
            {
                return;
            }
            var tcpPackage = TcpProtocol.Pack(cmdPackage);

            if (tcpPackage == null)
            {
                return;
            }

            this.clientSocket.BeginSend(
                tcpPackage,
                0,
                tcpPackage.Length,
                SocketFlags.None,
                OnAfterSend, this.clientSocket);
        }
Esempio n. 21
0
        /// <summary>
        /// 修改信息服务器回调
        /// </summary>
        /// <param name="pk"></param>
        private void OnEditProfileReturn(CmdPackageProtocol.CmdPackage pk)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <EditProfileRes>(pk.body);

            if (null == res)
            {
                Debug.LogError("解码失败");
                return;
            }

            if (res.status != Responce.Ok)
            {
                Debug.LogError("Error Status: " + res.status);
                return;
            }

            Assert.IsNotNull(_editProfileReq);
            NetInfo.SaveEditProfile(_editProfileReq.unick, _editProfileReq.uface, _editProfileReq.usex);
            _editProfileReq = null;
            //通知更新
            CEventCenter.BroadMessage(Message.SyncAuthInfo);
        }
Esempio n. 22
0
        private void OnGetMobaInfoReturn(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <GetMobaInfoRes>(pkg.body);

            if (null == res)
            {
                return;
            }

            if (res.status != Responce.Ok)
            {
                Debug.LogWarning("GetMobaInfoRes.status: " + res.status);
                return;
            }

            Debug.Log("获取MobaGame信息");

            NetInfo.SaveUgameInfo(res.uinfo);

            CEventCenter.BroadMessage(Message.SyncUgameInfo);
            CEventCenter.BroadMessage(Message.GetUgameInfoSuccess);
        }
Esempio n. 23
0
        private void OnAuthCmd(CmdPackageProtocol.CmdPackage pk)
        {
//			Debug.Log("recv cmd: "+pk.cmdType);
            switch ((LoginCmd)pk.cmdType)
            {
            case LoginCmd.eGuestLoginRes:
                OnGuestLoginReturn(pk);
                break;

            case LoginCmd.eEditProfileRes:
                OnEditProfileReturn(pk);
                break;

            case LoginCmd.eAccountUpgradeRes:
                OnAccountUpgradeReturn(pk);
                break;

            case LoginCmd.eUserLoginRes:
                OnUserLoginReturn(pk);
                break;

            case LoginCmd.eUserUnregisterRes:
                var res = CmdPackageProtocol.ProtobufDeserialize <UserUnregisterRes>(pk.body);
                if (res == null)
                {
                    return;
                }
                if (res.status != Responce.Ok)
                {
                    Debug.Log("Login status:" + res.status);
                    break;
                }
                //注销成功
                CEventCenter.BroadMessage(Message.Unregister);
                break;
            }
        }