예제 #1
0
        static void Main()
        {
            App_Update.Init();
            App_Event.Init();



            App_ClientSocket.InitSocket(EServerType.Type_Login, SIpPort.Create(ip_login, port_login));
            //  App_ClientSocket.InitSocket(EServerType.Type_Game, SIpPort.Create(ip_game, port_game));


            AsynchronousClient clientSocket = App_ClientSocket.ClientSockets[EServerType.Type_Login];

            clientSocket.conFinishedCallback = (bool succeed) =>
            {
                if (succeed)
                {
                    Log("Type_Login" + "===Connected Succeed");
                    PacketSend pk = PacketSend.Create(EEvents.Event_LoginHeart);
                    pk.Write((byte)1);
                    pk.Write("meng dong..你好");

                    App_ClientSocket.Send(pk, EServerType.Type_Login);

                    pk = PacketSend.Create(EEvents.Event_ServerTime);
                    App_ClientSocket.Send(pk, EServerType.Type_Login);
                }
                else
                {
                    Log("Type_Login" + "===Connected Failed!!!");
                }
            };
            clientSocket.HandleConnect();


            //if (!App_ClientSocket.ClientSockets.ContainsKey(EServerType.Type_Game))
            //{
            //    Log("Error!!!===!App_ClientSocket.ClientSockets.ContainsKey(EServerType.Type_Game)");
            //    return;
            //}

            //clientSocket = App_ClientSocket.ClientSockets[EServerType.Type_Game];
            //clientSocket.conFinishedCallback = (bool succeed) =>
            //{
            //    if (succeed)
            //    {
            //        Log("Type_Game" + "===Connected Succeed");
            //        PacketSend pk = PacketSend.Create(EEvents.Event_GameHeart);
            //        App_ClientSocket.Send(pk, EServerType.Type_Game);
            //    }
            //    else
            //    {
            //        Log("Type_Game" + "===Connected Failed!!!");
            //    }
            //};
            //clientSocket.HandleConnect();

            Start();
        }
예제 #2
0
        /// <summary>
        /// 处理接收到的数据
        /// </summary>
        private void ReceiveHandler()
        {
            int len = _receiveByte64K.arrByte64K[0] * 256 + _receiveByte64K.arrByte64K[1];

            if (len > 0 && _receiveByte64K.len >= len)
            {
                ArrByte64K bytes64k = ArrByte64K.Create();
                bytes64k.AppendBytes(_receiveByte64K.arrByte64K, len);
                _receiveByte64K.DelBytes((ushort)len);
                ServerPacket serPkt = ServerPacket.Create(bytes64k);
                App_Event.HandleEvent(serPkt);
            }
        }