簡體   English   中英

應該何時連接數據報套接字?

[英]When should a datagram socket be connected?

我在C中工作,使用POSIX套接字API。

我不確定何時連接數據報套接字是合適的。 據我了解,UDP是無連接的,SOCK_DGRAM套接字使用UDP。 那么當在數據報套接字上使用connect()和accept()時會發生什么?

在我看來,連接它們並使用send()/ recv()比不連接它們和使用sendto()/ recvfrom()更容易。

連接時套接字的功能是否有區別,或者這僅僅是一種抽象?

當您希望send()使用默認目標對等體的便利性而不是使用sendto()顯式指定目標時,數據報套接字上的connect()是合適的。 沒有功能差異。

connect()到AF_UNSPEC地址將清除數據報套接字的默認對等體。 (我認為,這最后一種行為得到了廣泛支持,但最近才正式化 。)

數據報套接字上的connect()會將recv() s限制為源自對等體的數據。

無論“連通性”如何,數據報套接字上的accept()都是錯誤(EOPNOTSUPP)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM