Newer
Older
/*
*
* Created on: Mar 1, 2021
* Author: astrisw
*/
* Implementation of a UDP socket
* @member field fd_sock: socket file descriptor
* @member field sockaddr_in: struct of the client address.
*/
struct sockaddr_in cliaddr;
struct sockaddr_in srvaddr;
void split_ip_port(const std::string& ip_port, std::string& ip, std::string& port);
int receiveAtLeastHeaderSizeBytes(uint8_t *buff, int headerSize, int packetSize);
void resetPacket(PacketLib::BasePacket &, int bytes);
UDPProtocol(std::string ip, int prt);
UDPProtocol();
class Builder;
public:
std::string ip{};
int port;
~UDPProtocol();
int connectToServer() override;
int connectToClient() override;
int closeConnectionToServer() override;
int closeConnectionToClient() override;
bool isConnectedToClient() const override;
bool isConnectedToServer() const override;
int receiveFromClient(PacketLib::BasePacket &) override;
int sendToServer(PacketLib::BasePacket &) override;