Dak*_*est 3 c sockets posix
我在C中工作,使用POSIX套接字API.
我不确定何时连接数据报套接字是合适的.据我了解,UDP是无连接的,SOCK_DGRAM套接字使用UDP.那么当在数据报套接字上使用connect()和accept()时会发生什么?
在我看来,连接它们并使用send()/ recv()比不连接它们和使用sendto()/ recvfrom()更容易.
连接时套接字的功能是否有区别,或者这仅仅是一种抽象?
pil*_*row 6
connect()当您希望使用默认目标对等体的便利性send()而不是显式指定目标时,数据报套接字是合适的sendto().没有功能差异.
connect()
send()
sendto()
connect()进入AF_UNSPEC地址将清除数据报套接字的默认对等体.(我认为,这最后一种行为得到了广泛支持,但最近才正式化.)
connect()在数据报套接字上将限制recv()s来自对等体的数据.
recv()
accept() 无论"连通性"如何,在数据报套接字上都是错误(EOPNOTSUPP).
accept()
归档时间:
12 年,6 月 前
查看次数:
273 次
最近记录: