https://github.com/emrecpp/datapacket-cpp
Send, recv, encrypt, decrypt, compress data as Packet and send it with socket for C++.
https://github.com/emrecpp/datapacket-cpp
compress data deserialization deserialize deserializer encrypt packet recv send serialization serialize serializer socket storage
Last synced: 10 months ago
JSON representation
Send, recv, encrypt, decrypt, compress data as Packet and send it with socket for C++.
- Host: GitHub
- URL: https://github.com/emrecpp/datapacket-cpp
- Owner: emrecpp
- License: gpl-3.0
- Created: 2021-02-09T19:59:06.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-03-03T12:12:40.000Z (almost 4 years ago)
- Last Synced: 2025-02-03T07:32:51.633Z (11 months ago)
- Topics: compress, data, deserialization, deserialize, deserializer, encrypt, packet, recv, send, serialization, serialize, serializer, socket, storage
- Language: C++
- Homepage:
- Size: 104 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DataPacket for C++
Store data as packet. Send, Recv, Encrypt it.
C#: https://github.com/emrecpp/DataPacket-CSharp
Python: https://github.com/emrecpp/PacketHandler
# Usage sample
```cpp
#include
#include
#include "Packet.h"
int main(){
// On Send:
Packet paket = Packet(0x1234, false);
SYSTEMTIME NowTime; // Custom struct (Note: struct size must be lower than 16 bytes else it will be corrupted.)
GetSystemTime(&NowTime);
paket << "Emre" << 123 << 1.5f << NowTime;
bool sent = paket.Send(socket);
// On Recv:
Packet receivedPacket = Packet();
if (receivedPaket.Recv(socket)) {
string name; int number; float f; SYSTEMTIME SystemTimeStruct;
receivedPacket >> name >> number >> f >> SystemTimeStruct;
printf("Opcode: %X\n\nName: %s\nNumber: %d\nFloat: %f\nSystemTime: %d-%02d-%02d\nTotal Items Count: %d\n", receivedPacket.GetOpcode(), name.c_str(), number, f,
SystemTimeStruct.wYear, SystemTimeStruct.wMonth, SystemTimeStruct.wDay, receivedPacket.GetItemsCount());
receivedPacket.Print("MY TITLE");
}// else connection lost
std::getchar();
return 0;
}
```
#### Output:
```
Opcode: 1234
Name: Emre
Number: 123
Float: 1.500000
SystemTime: 2022-03-03
Total Items Count: 4
Big Endian (Packet(0x1234, false)):
*** MY TITLE (Size: 38) ***
00000000 12 34 00 04 00 00 00 00 00 04 45 6D 72 65 00 00 .4........Emre..
00000010 00 7B 3F C0 00 00 E6 07 03 00 04 00 03 00 0B 00 .{?.............
00000020 38 00 10 00 80 01 8.....
Little Endian (Packet(0x1234, true)):
*** MY TITLE (Size: 38) ***
00000000 12 34 00 04 00 00 00 00 00 04 45 6D 72 65 7B 00 .4........Emre{.
00000010 00 00 00 00 C0 3F E6 07 03 00 04 00 03 00 0B 00 .....?..........
00000020 38 00 10 00 80 01 8.....
```