LightweightSecureClient
A secure TCP client that connects to a remote server, performs handshake, sends messages, and handles asynchronous communication.
Constructor
LightweightSecureClient
Return type: — (constructor)
Parameters:
const std::string& serverIp— IP address of the server to connect toint port— TCP port of the server
Initializes the socket and performs internal validation.
Terminates the program with exit() if encryption key is not set.
Destructor
~LightweightSecureClient
Return type: void
Disconnects the socket and triggers onError("Client destroyed") if defined.
Methods
setKeepAliveConfig
Return type: void
Parameters:
int keepAliveIntervalMsint inactivityTimeoutMs
Sets the keep-alive and timeout configuration.
Throws std::invalid_argument if values are invalid or inconsistent.
connectToServer
Return type: bool
Attempts to connect to the server and perform handshake.
Returns true on success, false otherwise.
Triggers:
onConnected()if successfulonError("Connection failed")if not
disconnect
Return type: void
Sends a disconnect packet if connected and then closes the socket.
Triggers onDisconnected() if defined.
sendMessage
Return type: void
Parameters:
const std::string& message
Encrypts and sends a message to the server.
Triggers onDataSent() if successful, onError() if not.
isConnected
Return type: bool
Returns true if the socket is connected and active.
Event Callback Setters
setOnConnected
Return type: void
Parameters: std::function<void()> callback
Called when the client successfully connects to the server.
setOnDisconnected
Return type: void
Parameters: std::function<void()> callback
Called when the connection is lost or disconnected manually.
setOnMessageReceived
Return type: void
Parameters: std::function<void(const std::string&)> callback
Called when a valid message is received from the server.
setOnHandshakeSuccess
Return type: void
Parameters: std::function<void(const HandshakeResult&)> callback
Called when the handshake with the server succeeds.
setOnHandshakeFailed
Return type: void
Parameters: std::function<void(const HandshakeResult&)> callback
Called when the handshake with the server fails.
setOnError
Return type: void
Parameters: std::function<void(const std::string&)> callback
Called when any error occurs during connection or communication.
setOnDataSent
Return type: void
Parameters: std::function<void(const std::string&)> callback
Called after a message is successfully sent to the server.