Example #1
0
 public IPCReceiver(ISocket socket)
 {
     this.socket = socket;
     recvBuffer  = AwesomeSockets.Buffer.New();
     rThread     = new Thread(ReceiveThread);
     rThread.Start();
 }
Example #2
0
 public IPCReceiver(ISocket socket, IPCProtocol ipc)
 {
     serverId    = 0;
     channelId   = 0;
     this.socket = socket;
     this.ipc    = ipc;
     recvBuffer  = AwesomeSockets.Buffer.New();
     rThread     = new Thread(ReceiveThread);
     rThread.Start();
 }
Example #3
0
 bool ReadIPC(AwesomeSockets.Buffer packet)
 {
     try
     {
         AweSock.ReceiveMessage(syncClient, packet);
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Example #4
0
 bool SendIPC(AwesomeSockets.Buffer packet)
 {
     try
     {
         AweSock.SendMessage(socket, packet);
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Example #5
0
        public IPCReader ReadIPC()
        {
            AwesomeSockets.Buffer inBuf = AwesomeSockets.Buffer.New();

            if (!ReadIPC(inBuf))
            {
                return(null);
            }

            var reader = new IPCReader(inBuf);

            if (reader.ReadOpcode() == null)
            {
                return(null);
            }

            return(reader);
        }
Example #6
0
        public IPCReader ReadIPC()
        {
            AwesomeSockets.Buffer inBuf = AwesomeSockets.Buffer.New();

            if (!ReadIPC(inBuf))
            {
                return(null);
            }

            var reader = new IPCReader(inBuf);
            var opcode = reader.Opcode;

            if (opcode == IPC.None)
            {
                return(null);
            }

            events.IPCReceivedPacket(this, new IPCPacketEventArgs(opcode, reader.Size));

            return(reader);
        }
Example #7
0
        public static void ProcessPacket(IPCReceiver receiver, AwesomeSockets.Buffer buffer)
        {
            var        reader = new IPCReader(buffer);
            var        packet = reader.ReadOpcode();
            PipeServer p      = PipeServer.Instance;

            if (packet == null)
            {
                return;
            }

            switch ((IPC)packet)
            {
            case IPC.FetchAccount: p.FetchAccount(receiver, reader); break;

            case IPC.UpdateIPDate: p.UpdateIPDate(receiver, reader); break;

            case IPC.AddUser: p.AddUser(receiver, reader); break;

            case IPC.GetUser: p.GetUser(receiver, reader); break;

            case IPC.ChannelList: p.GetChannels(receiver, reader); break;

            case IPC.RegisterChannel: p.AddChannel(receiver, reader); break;

            case IPC.GetCharacterList: p.GetCharacters(receiver, reader); break;

            case IPC.CreateCharacter: p.CreateCharacter(receiver, reader); break;

            case IPC.DeleteCharacter: p.DeleteCharacter(receiver, reader); break;

            case IPC.VerifyPassword: p.VerifyPassword(receiver, reader); break;

            case IPC.UpdatePosition: p.UpdateCharacterPosition(receiver, reader); break;

            case IPC.GetFullCharacter: p.GetFullCharacter(receiver, reader); break;

            case IPC.GetSlotOrder: p.GetSlotOrder(receiver, reader); break;

            case IPC.SetSlotOrder: p.SetSlotOrder(receiver, reader); break;

            case IPC.SetQuickSlots: p.SetQuickSlots(receiver, reader); break;

            case IPC.UpdateStatPoints: p.UpdateStatPoints(receiver, reader); break;

            case IPC.UpdateSkillPoints: p.UpdateSkillPoints(receiver, reader); break;

            case IPC.GetSubPass: p.GetSubPass(receiver, reader); break;

            case IPC.SetSubPass: p.SetSubPass(receiver, reader); break;

            case IPC.GetSubPassQuestion: p.GetSubPassQuestion(receiver, reader); break;

            case IPC.CheckSubPassAnswer: p.CheckSubPassAnswer(receiver, reader); break;

            case IPC.CheckSubPass: p.CheckSubPass(receiver, reader); break;

            case IPC.RemoveSubPass: p.RemoveSubPass(receiver, reader); break;

            case IPC.GetSubPassTime: p.GetSubPassTime(receiver, reader); break;

            case IPC.SetSubPassTime: p.SetSubPassTime(receiver, reader); break;
            }
        }