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 keepAliveIntervalMs
int 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.