#include #include #include class CustomPacketHandler : public sp::PacketHandler { void Handle(const KeepAlivePacket& packet) { std::cout << "KeepAlive handled ! " << packet.GetKeepAliveId() << "\n"; } void Handle(const DisconnectPacket& packet) { std::cout << "Disconnect handled ! " << packet.GetReason() << "\n"; } void Handle(const UpgradeTowerPacket& packet) { std::cout << "UpgradeTower handled !\n"; } }; using FileStream = sp::io::Stream; int main() { auto handler = std::make_shared(); FileStream stream(sp::io::File{"test.txt", sp::io::FileTag::In | sp::io::FileTag::Out}); stream.GetDispatcher().RegisterHandler(PacketId::Disconnect, handler); stream.GetDispatcher().RegisterHandler(PacketId::KeepAlive, handler); stream.SendMessage(KeepAlivePacket{96}); stream.SendMessage(KeepAlivePacket{69}); stream.SendMessage(DisconnectPacket{"This is in the fiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiile !"}); stream.RecieveMessages(); return 0; }