13 #include "DoIPConfig.h"
62 int m_tcpSocket{-1}, m_udpSocket{-1}, m_udpAnnouncementSocket{-1}, m_connected{-1};
64 struct sockaddr_in m_serverAddress, m_clientAddress, m_announcementAddress;
73 void parseVehicleIdentificationResponse(
const DoIPMessage& msg);
75 int emptyMessageCounter = 0;
bool receiveVehicleAnnouncement()
void printVehicleInformationResponse()
void startTcpConnection()
void closeUdpConnection()
void startUdpConnection()
ssize_t sendVehicleIdentificationRequest(const char *inet_address)
ssize_t sendAliveCheckResponse()
Sends a alive check response containing the clients source address to the server.
void startAnnouncementListener()
void setSourceAddress(const DoIPAddress &address)
Sets the source address for this client.
ssize_t sendDiagnosticMessage(const ByteArray &payload)
Sends a diagnostic message to the server.
void closeTcpConnection()
ssize_t sendRoutingActivationRequest()
void receiveRoutingActivationResponse()
uint16_t DoIPAddress
Represents a 16-bit DoIP address consisting of high and low significant bytes.
GenericFixedId< 17, true, '0'> DoIpVin
Vehicle Identification Number (VIN) - 17 bytes according to ISO 3779 Padded with ASCII '0' characters...
constexpr DoIPAddress ZERO_ADDRESS
std::pair< size_t, const uint8_t * > DoIPRequest
GenericFixedId< 6, false > DoIpEid
Entity Identifier (EID) - 6 bytes for unique entity identification.
GenericFixedId< 6, false > DoIpGid
Group Identifier (GID) - 6 bytes for group identification.
A dynamic array of bytes with utility methods for network protocol handling.