nl:: İnternet:: UDPEBitişNoktası

#include <src/inet/UDPEndPoint.h>

Bu sınıfın nesneleri, UDP aktarım uç noktalarını temsil eder.

Özet

Nest Inet Katmanı, sistem buna göre yapılandırıldığı için UDP aktarım uç noktaları (Linux ve BSD türevli sistemlerde SOCK_DGRAM soketleri) veya LwIP UDP protokolü kontrol bloklarıyla etkileşime girme yöntemlerini kapsar.

miras

: Den devralır nl :: Inet :: IPEndPointBasis

Kamu işlevleri

Bind (IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
Uç noktayı bir arabirim IP adresine bağlayın.
BindInterface (IPAddressType addrType, InterfaceId intf)
Uç noktayı bir ağ arabirimine bağlayın.
Close (void)
void
Uç noktayı kapatın.
Free (void)
void
Uç noktayı kapatın ve belleğini geri dönüştürün.
GetBoundInterface (void)
InterfaceId
Bu uç noktada bağlı arabirimi alın.
GetBoundPort (void)
uint16_t
Listen (void)
UDP mesajlarını almak için uç noktayı hazırlayın.
SendMsg (const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Belirtilen bir hedefe bir UDP mesajı gönderin.
SendTo ( IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Eşanlamlıdır SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) .
SendTo ( IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Belirtilen hedef adrese bir UDP mesajı gönderin.

Kamu işlevleri

bağla

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId
)

Uç noktayı bir arabirim IP adresine bağlayın.

Uç noktayı belirtilen ağ arabirimi IP adresine bağlar.

Ayrıntılar
parametreler
[in] addrType
IP adresinin protokol versiyonu
[in] addr
IP adresi (bir arayüz adresi olmalıdır)
[in] port
UDP bağlantı noktası
[in] intfId
isteğe bağlı bir ağ arabirimi göstergesi
Dönüş Değerleri
INET_NO_ERROR
başarı: adrese bağlı uç nokta
INET_ERROR_INCORRECT_STATE
uç nokta daha önce bağlanmış
INET_NO_MEMORY
uç nokta için yetersiz bellek
INET_ERROR_UNKNOWN_INTERFACE
Bazı platformlarda isteğe bağlı olarak belirtilen arabirim mevcut değildir.
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType eşleşmiyor IPVer .
INET_ERROR_WRONG_ADDRESS_TYPE
addrType olan kIPAddressType_Any veya tipi addr eşit değildir addrType .
other
başka bir sistem veya platform hatası

LwIP'de, bu yöntem, önceden alınmış LwIP yığın kilidi ile çağrılmamalıdır.

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

Uç noktayı bir ağ arabirimine bağlayın.

Uç noktayı belirtilen ağ arabirimi IP adresine bağlar.

Ayrıntılar
parametreler
[in] addrType
IP adresinin protokol versiyonu.
[in] intf
ağ arayüzünün göstergesi.
Dönüş Değerleri
INET_NO_ERROR
başarı: adrese bağlı uç nokta
INET_NO_MEMORY
uç nokta için yetersiz bellek
INET_ERROR_NOT_IMPLEMENTED
sistem uygulaması tamamlanmadı.
INET_ERROR_UNKNOWN_INTERFACE
Bazı platformlarda arayüz mevcut değildir.
other
başka bir sistem veya platform hatası

LwIP'de, bu yöntem, önceden alınmış LwIP yığın kilidi ile çağrılmamalıdır.

Kapat

void Close(
  void
)

Uç noktayı kapatın.

Eğer mState != kState_Closed ardından iletişim olaylar için uygun uç noktaları kümesinden çıkarmadan, bitiş noktası kapatır.

LwIP sistemlerinde, bu yöntem, önceden alınmış LwIP yığın kilidi ile çağrılmamalıdır.

Bedava

void Free(
  void
)

Uç noktayı kapatın ve belleğini geri dönüştürün.

Çağırır Close yöntemle, daha sonra çağıran InetLayerBasis::Release bellek havuzuna nesneyi döndürmek için bir yöntem.

LwIP sistemlerinde, bu yöntem, önceden alınmış LwIP yığın kilidi ile çağrılmamalıdır.

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

Bu uç noktada bağlı arabirimi alın.

Ayrıntılar
İadeler
InterfaceId Bağlı arabirim kimliği.

GetBoundPort

uint16_t GetBoundPort(
  void
)

Dinle

INET_ERROR Listen(
  void
)

UDP mesajlarını almak için uç noktayı hazırlayın.

Eğer State zaten kState_Listening , o zaman hiçbir işlemi yapılırken, aksi mState olarak ayarlanır kState_Listening ve uç nokta platformunun semantik göre, alınan UDP mesajlara hazırlanır.

Ayrıntılar
Dönüş Değerleri
INET_NO_ERROR
başarı: uç nokta mesajları almaya hazır.
INET_ERROR_INCORRECT_STATE
uç nokta zaten dinliyor.

LwIP'de, bu yöntem, önceden alınmış LwIP yığın kilidi ile çağrılmamalıdır.

Mesaj Gönder

INET_ERROR SendMsg(
  const IPPacketInfo *pktInfo,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

Belirtilen bir hedefe bir UDP mesajı gönderin.

 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.

Ayrıntılar
parametreler
[in] pktInfo
UDP mesajı için kaynak ve hedef bilgileri
[in] msg
UDP mesajını içeren bir paket arabelleği
[in] sendFlags
isteğe bağlı iletim seçeneği bayrakları
Dönüş Değerleri
INET_NO_ERROR
başarı: msg iletim için sıraya alındı.
INET_ERROR_NOT_SUPPORTED
sistem istenen işlemi desteklemiyor.
INET_ERROR_WRONG_ADDRESS_TYPE
hedef adres ve bağlı arabirim adresi, eşleşen protokol sürümlerine veya adres türüne sahip değil.
INET_ERROR_MESSAGE_TOO_LONG
msg bütün UDP mesaj içermiyor.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Bazı platformlarda sadece kesilmiş kısım msg iletim üzere sıraya koyuldu.
other
başka bir sistem veya platform hatası

Gönderildi

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

Eşanlamlıdır SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) .

Gönderildi

INET_ERROR SendTo(
  IPAddress addr,
  uint16_t port,
  InterfaceId intfId,
  Weave::System::PacketBuffer *msg,
  uint16_t sendFlags
)

Belirtilen hedef adrese bir UDP mesajı gönderin.

 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.

Ayrıntılar
parametreler
[in] addr
hedef IP adresi
[in] port
hedef UDP bağlantı noktası
[in] intfId
isteğe bağlı bir ağ arabirimi göstergesi
[in] msg
UDP mesajını içeren paket arabelleği
[in] sendFlags
isteğe bağlı iletim seçeneği bayrakları
Dönüş Değerleri
INET_NO_ERROR
başarı: msg iletim için sıraya alındı.
INET_ERROR_NOT_SUPPORTED
sistem istenen işlemi desteklemiyor.
INET_ERROR_WRONG_ADDRESS_TYPE
hedef adres ve bağlı arabirim adresi, eşleşen protokol sürümlerine veya adres türüne sahip değil.
INET_ERROR_MESSAGE_TOO_LONG
msg bütün UDP mesaj içermiyor.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Bazı platformlarda sadece kesilmiş kısım msg iletim üzere sıraya koyuldu.
other
başka bir sistem veya platform hatası