Exemple #1
0
 // 请求创建房间后服务器的返回
 public int[] ResCreateRoom()
 {
     byte[] data = new byte[2048];
     ReceiveData(ref data);
     int[] res = PBConverter.ResCreateRoom(data);
     return(res);
 }
Exemple #2
0
        // 注册请求后服务器的返回
        public int ResRegister()
        {
            byte[] data = new byte[1024];
            ReceiveData(ref data);
            int res = PBConverter.ResRegister(data);

            return(res);
        }
Exemple #3
0
        //返回离开房间数据
        public int ResQuitRoom()
        {
            byte[] data = new byte[2048];
            ReceiveData(ref data);
            int res = PBConverter.ResQuitRoom(data);

            return(res);
        }
        //返回离开房间
        public static int ResQuitRoom(byte[] data)
        {
            CS_RES_MSG msg = PBConverter.Deserialize <CS_RES_MSG>(data);

            CS_RES_QUIT_ROOM resMsg = msg.CsResQuitRoom;
            int res = (int)resMsg.Result;

            return(res);
        }
Exemple #5
0
 // 子线程中等待接收的方法
 public void ReceiveThreadFunc()
 {
     while (true)
     {
         byte[] data = new byte[1024];
         ReceiveData(ref data);
         PBConverter.ResData(data);
     }
 }
        public static int ResLoginOut(byte[] data)
        {
            CS_RES_MSG msg = PBConverter.Deserialize <CS_RES_MSG>(data);

            CS_RES_LOGINOUT resMsg = msg.CsResLoginout;
            int             res    = (int)resMsg.Result;

            return(res);
        }
        //返回注册
        public static int ResRegister(byte[] data)
        {
            CS_RES_MSG msg = PBConverter.Deserialize <CS_RES_MSG>(data);

            CS_RES_REGIST resMsg = msg.CsResRegist;

            int res = (int)resMsg.Result;

            return(res);
        }
        //返回创建房间
        public static int[] ResCreateRoom(byte[] data)
        {
            CS_RES_MSG msg = PBConverter.Deserialize <CS_RES_MSG>(data);

            CS_RES_CREATE_ROOM resMsg = msg.CsResCreateRoom;

            int[] res = new int[2];
            res[0] = (int)resMsg.Result;
            return(res);
        }
        //接收
        public static void ResData(byte[] data)
        {
            CS_RES_MSG msg = PBConverter.Deserialize <CS_RES_MSG>(data);

            switch (msg.Msgid)
            {
            case MSGID.CsResHelloId:
                CS_RES_HELLO resMsg0 = msg.CsResHello;
                int          res0    = (int)resMsg0.Timenow;
                CsResManager.ResHello(res0);
                break;

            case MSGID.CsResRegistId:
                CS_RES_REGIST resMsg1 = msg.CsResRegist;
                int           res1    = (int)resMsg1.Result;
                CsResManager.ResRegist(res1);
                break;

            case MSGID.CsResLoginId:
                CS_RES_LOGIN resMsg2 = msg.CsResLogin;
                int          res2    = (int)resMsg2.Result;
                CsResManager.ResLogin(res2);
                break;

            case MSGID.CsResLoginoutId:
                CS_RES_LOGINOUT resMsg3 = msg.CsResLoginout;
                int             res3    = (int)resMsg3.Result;
                CsResManager.ResLoginOut(res3);
                break;

            case MSGID.CsNtyLoginoutId:
                CS_NTY_LOGINOUT resMsg4 = msg.CsNtyLoginout;
                String          uid4    = resMsg4.Id;
                int             reason4 = (int)resMsg4.Reason;
                CsResManager.NtyLoginOut(uid4, reason4);
                break;

            case MSGID.CsResCreateRoomId:
                CS_RES_CREATE_ROOM resMsg5 = msg.CsResCreateRoom;
                int[] res5 = new int[2];
                res5[0] = (int)resMsg5.Result;
                CsResManager.ResCreateRoom(res5);
                break;

            case MSGID.CsResQuitRoomId:
                CS_RES_QUIT_ROOM resMsg6 = msg.CsResQuitRoom;
                int res6 = (int)resMsg6.Result;
                CsResManager.ResQuitRoom(res6);
                break;

            default:
                break;
            }
        }
Exemple #10
0
        // 返回退出登录
        public int ResLoginOut()
        {
            byte[] data = new byte[1024];
            ReceiveData(ref data);
            int res = PBConverter.ResLoginOut(data);

            if (res == 0)
            {
                socket.Close();
            }
            return(res);
        }
        public static bool ResNtyLoginOut(byte[] data, ref NtyLoginOut nlo)
        {
            CS_RES_MSG msg = PBConverter.Deserialize <CS_RES_MSG>(data);

            if (msg.Msgid == MSGID.CsNtyLoginoutId)
            {
                CS_NTY_LOGINOUT resMsg = msg.CsNtyLoginout;
                nlo.uid    = resMsg.Id;
                nlo.reason = (int)resMsg.Reason;
                return(true);
            }
            return(false);
        }
Exemple #12
0
        // 登录请求后服务器的返回
        public int ResLogin()
        {
            byte[] data = new byte[1024];
            ReceiveData(ref data);
            int res = PBConverter.ResLogin(data);

            if (res == 0)
            {
                //NTY
                AsyncReceiveNty();
            }
            return(res);
        }
        //请求退出登录
        public static byte[] ReqLoginOut(String uid)
        {
            CS_REQ_MSG msg = new CS_REQ_MSG();

            msg.Msgid = MSGID.CsReqLoginoutId;

            CS_REQ_LOGINOUT reqMsg = new CS_REQ_LOGINOUT();

            reqMsg.Id = uid;

            msg.CsReqLoginout = reqMsg;

            byte[] data = PBConverter.Serialize(msg);
            return(data);
        }
        // 请求离开房间
        public static byte[] ReqQuitRoom(String uid)
        {
            CS_REQ_MSG msg = new CS_REQ_MSG();

            msg.Msgid = MSGID.CsReqQuitRoomId;

            CS_REQ_QUIT_ROOM reqMsg = new CS_REQ_QUIT_ROOM();

            reqMsg.Userid = uid;

            msg.CsReqQuitRoom = reqMsg;

            byte[] data = PBConverter.Serialize(msg);
            return(data);
        }
        //心跳包
        public static byte[] ReqHello(String uid)
        {
            CS_REQ_MSG msg = new CS_REQ_MSG();

            msg.Msgid = MSGID.CsReqHelloId;

            CS_REQ_HELLO reqMsg = new CS_REQ_HELLO();

            reqMsg.Id = uid;

            msg.CsReqHello = reqMsg;

            byte[] data = PBConverter.Serialize(msg);
            return(data);
        }
        // 请求登录
        public static byte[] ReqLogin(String uid, String password)
        {
            CS_REQ_MSG msg = new CS_REQ_MSG();

            msg.Msgid = MSGID.CsReqLoginId;

            CS_REQ_LOGIN reqMsg = new CS_REQ_LOGIN();

            reqMsg.Id     = uid;
            reqMsg.Passwd = password;

            msg.CsReqLogin = reqMsg;

            byte[] data = PBConverter.Serialize(msg);
            return(data);
        }
        //请求注册
        public static byte[] ReqRegister(String uid, String password)
        {
            CS_REQ_MSG msg = new CS_REQ_MSG();

            msg.Msgid = MSGID.CsReqRegistId;

            CS_REQ_REGIST reqMsg = new CS_REQ_REGIST();

            reqMsg.Id     = uid;
            reqMsg.Passwd = password;

            msg.CsReqRegist = reqMsg;

            byte[] data = PBConverter.Serialize(msg);
            return(data);
        }
Exemple #18
0
 private async Task AsyncReceiveNty()
 {
     await Task.Run(() =>
     {
         while (true)
         {
             byte[] data = new byte[1024];
             ReceiveData(ref data);
             NtyLoginOut nlo = new NtyLoginOut();
             bool isNty      = PBConverter.ResNtyLoginOut(data, ref nlo);
             if (isNty == true)
             {
                 //打断主进程
                 Console.WriteLine("this is nty");
                 break;
             }
             Console.WriteLine("no Nty");
         }
     });
 }
Exemple #19
0
 // 请求离开房间
 public void ReqQuitRoom(String uid)
 {
     byte[] data = PBConverter.ReqQuitRoom(uid);
     SendData(data);
 }
Exemple #20
0
 // 登录时向服务器发送请求
 public void ReqLogin(String uid, String password)
 {
     byte[] data = PBConverter.ReqLogin(uid, password);
     SendData(data);
 }
Exemple #21
0
 // 心跳包
 public void ReqHello(String uid)
 {
     byte[] data = PBConverter.ReqHello(uid);
     SendData(data);
 }
Exemple #22
0
 // 请求退出登录
 public void ReqLoginOut(string uid)
 {
     byte[] data = PBConverter.ReqLoginOut(uid);
     SendData(data);
 }