nl::Inet::UDPEndPoint

#include <src/inet/UDPEndPoint.h>

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

Özet

Nest Inet Katmanı, sistem uygun şekilde yapılandırıldığından UDP taşıma uç noktalarıyla (Linux ve BSD tabanlı sistemlerde SOCK_DGRAM yuvaları) veya LwIP UDP protokol kontrol bloklarıyla etkileşime ilişkin yöntemleri içerir.

Devralma

Devralındığı kaynak: nl::Inet::IPEndPointBasis

Herkese açık işlevler

Bind(IPAddressType addrType, IPAddress addr, uint16_t port, InterfaceId intfId)
Uç noktayı bir arayüz IP adresine bağlayın.
BindInterface(IPAddressType addrType, InterfaceId intf)
Uç noktayı bir ağ arayüzüne 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ç noktaya bağlı arayüzü alın.
GetBoundPort(void)
uint16_t
Listen(void)
Uç noktayı UDP mesajlarını alacak şekilde hazırlayın.
SendMsg(const IPPacketInfo *pktInfo, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Belirli bir hedefe UDP mesajı gönderir.
SendTo(IPAddress addr, uint16_t port, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) ile eş anlamlı.
SendTo(IPAddress addr, uint16_t port, InterfaceId intfId, Weave::System::PacketBuffer *msg, uint16_t sendFlags)
Belirtilen hedef adrese bir UDP mesajı gönderin.

Herkese açık işlevler

Bağla

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

Uç noktayı bir arayüz IP adresine bağlayın.

Uç noktayı belirtilen ağ arayüzü IP adresine bağlar.

Ayrıntılar
Parametreler
[in] addrType
IP adresinin protokol sürümü
[in] addr
IP adresi (arayüz adresi olmalıdır)
[in] port
UDP bağlantı noktası
[in] intfId
isteğe bağlı bir ağ arayüzü göstergesi
Değerleri Döndür
INET_NO_ERROR
başarılı: uç nokta adrese bağlı
INET_ERROR_INCORRECT_STATE
uç nokta daha önce bağlandı
INET_NO_MEMORY
uç nokta için yetersiz bellek
INET_ERROR_UNKNOWN_INTERFACE
Bazı platformlarda isteğe bağlı olarak belirtilen arayüz yoktur.
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType, IPVer ile eşleşmiyor.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType, kIPAddressType_Any değerine sahip veya addr türü, addrType değerine eşit değil.
other
başka bir sistem veya platform hatası

LwIP'de bu yöntem, halihazırda edinilmiş LwIP yığın kilidiyle çağrılmamalıdır.

BindInterface

INET_ERROR BindInterface(
  IPAddressType addrType,
  InterfaceId intf
)

Uç noktayı bir ağ arayüzüne bağlayın.

Uç noktayı belirtilen ağ arayüzü IP adresine bağlar.

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

LwIP'de bu yöntem, halihazırda edinilmiş LwIP yığın kilidiyle çağrılmamalıdır.

Kapat

void Close(
  void
)

Uç noktayı kapatın.

mState != kState_Closed ise uç noktayı kapatarak iletişim etkinlikleri için uygun uç nokta grubundan kaldırır.

LwIP sistemlerinde bu yöntem, halihazırda edinilmiş LwIP yığın kilidiyle çağrılmamalıdır.

Ücretsiz

void Free(
  void
)

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

Close yöntemini çağırır, ardından nesneyi bellek havuzuna döndürmek için InetLayerBasis::Release yöntemini çağırır.

LwIP sistemlerinde bu yöntem, halihazırda edinilmiş LwIP yığın kilidiyle çağrılmamalıdır.

GetBoundInterface

InterfaceId GetBoundInterface(
  void
)

Bu uç noktaya bağlı arayüzü alın.

Ayrıntılar
İadeler
Arayüz kimliği Bağlı arayüz kimliği.

GetBoundPort

uint16_t GetBoundPort(
  void
)

Dinle

INET_ERROR Listen(
  void
)

Uç noktayı UDP mesajlarını alacak şekilde hazırlayın.

State zaten kState_Listening ise herhangi bir işlem yapılmaz. Aksi takdirde mState, kState_Listening olarak ayarlanır ve uç nokta, platformun anlamlarına göre UDP mesajlarını almaya hazır olur.

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

LwIP'de bu yöntem, halihazırda edinilmiş LwIP yığın kilidiyle çağrılmamalıdır

SendMsg

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

Belirli bir hedefe UDP mesajı gönderir.

 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ının kaynak ve hedef bilgileri
[in] msg
UDP mesajını içeren paket arabelleği
[in] sendFlags
isteğe bağlı iletim seçeneği bayrakları
Değerleri Döndür
INET_NO_ERROR
başarılı: msg iletim için sıraya alındı.
INET_ERROR_NOT_SUPPORTED
sistem istenen işlemi desteklemiyor.
INET_ERROR_WRONG_ADDRESS_TYPE
hedef adresi ve bağlı arayüz adresinin protokol sürümleri veya adres türü eşleşmiyor.
INET_ERROR_MESSAGE_TOO_LONG
msg, UDP mesajının tamamını içermiyor.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Bazı platformlarda msg ürününün yalnızca kısaltılmış bir kısmı aktarım için sıraya alınıyordu.
other
başka bir sistem veya platform hatası

SendTo

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

SendTo(addr, port, INET_NULL_INTERFACEID, msg, sendFlags) ile eş anlamlı.

SendTo

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ğ arayüzü göstergesi
[in] msg
UDP mesajını içeren paket arabelleği
[in] sendFlags
isteğe bağlı iletim seçeneği bayrakları
Değerleri Döndür
INET_NO_ERROR
başarılı: msg iletim için sıraya alındı.
INET_ERROR_NOT_SUPPORTED
sistem istenen işlemi desteklemiyor.
INET_ERROR_WRONG_ADDRESS_TYPE
hedef adresi ve bağlı arayüz adresinin protokol sürümleri veya adres türü eşleşmiyor.
INET_ERROR_MESSAGE_TOO_LONG
msg, UDP mesajının tamamını içermiyor.
INET_ERROR_OUTBOUND_MESSAGE_TRUNCATED
Bazı platformlarda msg ürününün yalnızca kısaltılmış bir kısmı aktarım için sıraya alınıyordu.
other
başka bir sistem veya platform hatası