Skip to content

emrecpp/DataPacket-CSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Packet for C#

Store data as packet. Send, Recv, Encrypt it.

For Pyhon: https://github.com/emrecpp/PacketHandler

For C++: https://github.com/emrecpp/DataPacket-CPP

Example Usage

private static class opcodes
{
    public static int HANDSHAKE = 100;
}
        
Packet pkt = new Packet(opcodes.HANDSHAKE, littleEndian: false);
pkt.writeInt(123456);
pkt.writeString("Emre Demircan");
  
int Number = pkt.readInt(); // 123456
string Name = pkt.readString(); // Emre Demircan

Send

Client client = new Client("127.0.0.1", 2000);

Packet sendData = new Packet(0xAABB);
sendData.writeInt(123456);
sendData.writeString("Emre Demircan");
sendData.Encrypt(); // automatically will be decrypted when received packet.

if (!sendData.Send(client.s)) // Client -> Server
    MessageBox.Show("Send Failed");

Recv

public int ClientHandler(Socket client)
{
    Packet pktReceiver = new Packet();
    while (client.Connected)
    {
        if (!pktReceiver.Recv(client))
            break;

        if (pktReceiver.GetOpcode() == 0xAABB)
        {
            int Number = pktReceiver.readInt(); //123456
            string Name = pktReceiver.readString(); // Emre Demircan
            
            Console.WriteLine("Opcode: "+ pktReceiver.GetOpcode());            
            Console.WriteLine("Number:" + Number);
            Console.WriteLine("Name:" + Name);            
        }
    }
    return 0;
}

Server server = new Server(2000, ClientHandler);

Output:

Opcode: 43707 (0xAABB)
Number: 123456
Name: Emre Demircan


sendData.Print();

Little Endian


Normal/Decrypted Print:
00000000 AA BB 02 02 00 00 7B 00 00 00 0D 00 00 00 45 6D   ??.�.?{?.?.?.?Em
00000010 72 65 20 44 65 6D 69 72 63 61 6E                  re.Demircan

Encrypted Print:
00000000 AA BB 03 02 00 00 3F C0 BC B8 C1 B0 AC A8 E9 0D   ??.�.??????????
00000010 0E FD B4 D4 F1 F5 ED F2 DF D9 E2                  .??????????



Big Endian


Normal/Decrypted Print:
00000000 AA BB 00 02 00 00 00 00 00 7B 00 00 00 0D 45 6D   ??.�.?.?.{.?.Em
00000010 72 65 20 44 65 6D 69 72 63 61 6E                  re.Demircan

Encrypted Print:
00000000 AA BB 01 02 00 00 C4 C0 BC 33 B4 B0 AC B5 E9 0D   ??.�.????3?????
00000010 0E FD B4 D4 F1 F5 ED F2 DF D9 E2                  .??????????

Releases

No releases published

Packages

No packages published

Languages