private void CNetwork_OnReceived(object sender, NetReceivedEventArgs <byte[]> e) { reader = new ArrayReader(e.Data, e.Data.Length); FROM_SERVER header = (FROM_SERVER)reader.ReadShort(); switch (header) { case FROM_SERVER.LOGIN_STATUS: break; case FROM_SERVER.CLIENT_HELLO: var version = reader.ReadShort(); var patch = reader.ReadMapleString(); if (version != (short)GameConstants.MAJOR_VERSION && patch != GameConstants.MINOR_VERSION) { Disconnect(NetStoppedReason.Exception); Environment.Exit(0); } break; default: Console.WriteLine("[Unhandled] Packet received: {0}", ByteArrayToString(e.Data)); break; } }
void client_OnReceived(object sender, NetReceivedEventArgs<byte[]> e) { if (e.Data[0] != 0 && e.Data.Length==20) { serialPort.SendByteArray(e.Data); cpt = (cpt + 1) % 50; if (cpt == 0) messages = new StringBuilder(); string cw = Strings.ToHex(e.Data); cw = cw.Substring(6,32).Trim(); if (cw.StartsWith("0000000000000000")) messages.Append(@"\viewkind4\uc1\pard\f0\fs16\fs20\cf1 scrambled channel\par"); else messages.Append(string.Format(@"\viewkind4\uc1\pard\f0\fs16\fs20\cf3 {0}\par", cw)); DisplayMessage(messages.ToString()); } }
static void client_OnReceived(object sender, NetReceivedEventArgs <byte[]> e) { try { while (true) { if (ReceivedPacket.Data == null) { break; } System.Threading.Thread.Sleep(1); } BinaryReader DataPacket = new BinaryReader(new MemoryStream(Encode ? Compressor.Unpack(RC4_Server.Decode(e.Data, e.Data.Length)) : e.Data)); ReceivedPacket.Data = DataPacket; ReceivedPacket.Opcode = Protocol.ReadCUInt32(ref ReceivedPacket.Data); ReceivedPacket.Length = Protocol.ReadCUInt32(ref ReceivedPacket.Data); if (debug_mode) { Console.WriteLine("[S -> C]: 0x{0} Length: {1}", ReceivedPacket.Opcode.ToString("X2"), ReceivedPacket.Length); } if (ReceivedPacket.Opcode == 0x02) { new System.Threading.Thread(delegate() { while (true) { System.Threading.Thread.Sleep(12000); if (!Program.Client.IsConnected || !Encode) { break; } Client.Send(RC4_Client.Encode(new byte[] { 0x5A, 0x01, 0x5A }, 3)); } }).Start(); } if (ReceivedPacket.Opcode == 0x00) { DataPacket.BaseStream.Position = ReceivedPacket.Data.BaseStream.Position; while (DataPacket.PeekChar() != -1) { byte header = DataPacket.ReadByte(); uint sub_size = Protocol.ReadCUInt32(ref DataPacket); ReceivedPacket.Data = new BinaryReader(new MemoryStream(DataPacket.ReadBytes((int)sub_size))); if (sub_size < 3) { continue; } ReceivedPacket.Length = Protocol.ReadCUInt32(ref ReceivedPacket.Data); ReceivedPacket.Opcode = ReceivedPacket.Data.ReadUInt16(); if (debug_mode) { Console.WriteLine("[S -> C] [GS]: 0x{0} Length: {1}", ReceivedPacket.Opcode.ToString("X2"), ReceivedPacket.Length); } ReceivedPacket.isSubPacket = true; SendPacket.Data = new List <byte>(); if (Functions[FunctionType.ReceivedSubPacket] != null) { Functions[FunctionType.ReceivedSubPacket].Call(new object[] { ReceivedPacket.Opcode, ReceivedPacket.Length }); } } } else { if (Functions[FunctionType.Received] != null) { Functions[FunctionType.Received].Call(new object[] { ReceivedPacket.Opcode, ReceivedPacket.Length }); } } ReceivedPacket.Opcode = 0; ReceivedPacket.Length = 0; ReceivedPacket.isSubPacket = false; ReceivedPacket.Data = null; SendPacket.Data = new List <byte>(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
void onClientReceiveData(object sender, NetReceivedEventArgs<byte[]> e) { onReceiveData(e.Data); }
private static void Client_OnReceived(object sender, NetReceivedEventArgs <string> e) { Console.WriteLine("------> " + e.Data); }
static void client_OnReceived(object sender, NetReceivedEventArgs<NetObject> e) { Console.WriteLine("Client received - Name: " + e.Data.Name + " Message: " + e.Data.Object.ToString()); }