nl:: Inet:: UDPEndPoint
#include <src/inet/UDPEndPoint.h>
Objekte dieser Klasse stellen UDP-Transportendpunkte dar.
Zusammenfassung
Nest Inet Layer kapselt Methoden für die Interaktion mit UDP-Transportendpunkten (SOCK_DGRAM-Sockets auf Linux- und BSD-abgeleiteten Systemen) oder LwIP-UDP-Protokollkontrollblöcken, je nachdem, wie das System entsprechend konfiguriert ist.
Übernahme
Übernimmt von: nl::Inet::IPEndPointBasis
Öffentliche Funktionen |
|
---|---|
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
|
Binden Sie den Endpunkt an eine Schnittstellen-IP-Adresse.
|
BindInterface(IPAddressType addrType, InterfaceId intf)
|
Binden Sie den Endpunkt an eine Netzwerkschnittstelle.
|
Close(void)
|
void
Schließen Sie den Endpunkt.
|
Free(void)
|
void
Schließen Sie den Endpunkt und verwenden Sie den Arbeitsspeicher wieder.
|
GetBoundInterface(void)
|
InterfaceId
Ruft die gebundene Schnittstelle auf diesem Endpunkt ab.
|
GetBoundPort(void)
|
uint16_t
|
Listen(void)
|
Bereiten Sie den Endpunkt für den Empfang von UDP-Nachrichten vor.
|
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Sendet eine UDP-Nachricht an ein bestimmtes Ziel.
|
SendTo(IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Ein Synonym für
SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) . |
SendTo(IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
|
Eine UDP-Nachricht an die angegebene Zieladresse senden.
|
Öffentliche Funktionen
Binden
INET_ERROR Bind( IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId )
Binden Sie den Endpunkt an eine Schnittstellen-IP-Adresse.
Bindet den Endpunkt an die angegebene IP-Adresse der Netzwerkschnittstelle.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||
Rückgabewerte |
|
Bei LwIP darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden.
BindInterface
INET_ERROR BindInterface( IPAddressType addrType, InterfaceId intf )
Binden Sie den Endpunkt an eine Netzwerkschnittstelle.
Bindet den Endpunkt an die angegebene IP-Adresse der Netzwerkschnittstelle.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Bei LwIP darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden.
Schließen
void Close( void )
Schließen Sie den Endpunkt.
Bei mState != kState_Closed
wird der Endpunkt geschlossen und aus der Gruppe von Endpunkten entfernt, die für Kommunikationsereignisse infrage kommen.
Bei LwIP-Systemen darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden.
Kostenlos
void Free( void )
Schließen Sie den Endpunkt und verwenden Sie den Arbeitsspeicher wieder.
Ruft die Methode Close
und dann die Methode InetLayerBasis::Release
auf, um das Objekt an seinen Arbeitsspeicherpool zurückzugeben
Bei LwIP-Systemen darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden.
GetBoundInterface
InterfaceId GetBoundInterface( void )
Ruft die gebundene Schnittstelle auf diesem Endpunkt ab.
Details | |
---|---|
Rückgabe |
InterfaceId Die ID der gebundenen Schnittstelle.
|
GetBoundPort
uint16_t GetBoundPort( void )
Anhören
INET_ERROR Listen( void )
Bereiten Sie den Endpunkt für den Empfang von UDP-Nachrichten vor.
Wenn State
bereits kState_Listening
ist, wird kein Vorgang ausgeführt. Andernfalls wird mState
auf kState_Listening
gesetzt und der Endpunkt ist gemäß der Semantik der Plattform auf den Empfang von UDP-Nachrichten vorbereitet.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
Bei LwIP darf diese Methode nicht mit der bereits erhaltenen LwIP-Stack-Sperre aufgerufen werden
SendMsg
INET_ERROR SendMsg( const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Sendet eine UDP-Nachricht an ein bestimmtes Ziel.
Send the UDP message in \c msg to the destination address and port given in \c pktInfo. If \c pktInfo contains an interface id, the message will be sent over the specified interface. If \c pktInfo contains a source address, the given address will be used as the source of the UDP message. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|
SendTo
INET_ERROR SendTo( IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Ein Synonym für SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags)
.
SendTo
INET_ERROR SendTo( IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags )
Eine UDP-Nachricht an die angegebene Zieladresse senden.
If possible, then this method sends the UDP message \c msg to the destination \c addr (with \c intfId used as the scope identifier for IPv6 link-local destinations) and \c port with the transmit option flags encoded in \c sendFlags. Where (sendFlags & kSendFlag_RetainBuffer) != 0, calls Weave::System::PacketBuffer::Free on behalf of the caller, otherwise this method deep-copies \c msg into a fresh object, and queues that for transmission, leaving the original \c msg available after return.
Details | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Rückgabewerte |
|