【发布时间】:2015-01-10 15:55:16
【问题描述】:
根据手册页:
send() 和 write(2) 之间的唯一区别是标志的存在。使用零标志参数,send() 等效于 write(2)。此外,以下调用 send(sockfd, buf, len, flags);相当于 sendto(sockfd, buf, len, flags, NULL, 0);
和
recv() 调用通常仅在连接的套接字上使用(参见 connect(2)),它与带有 NULL src_addr 参数的 recvfrom() 相同。
另外,如果我没记错的话(在手册页中找不到),recv 和 flags == 0 等效于 read(类似于 write 和 send)。
所以:
- 这是否意味着在 UDP 套接字上使用
read非常好(如果我不需要src_addr)? - 有没有办法在 UDP 套接字上使用
write(现在我在sendto的dest_addr参数中设置了目标地址)?
【问题讨论】:
-
@admdrew - 为什么不呢?这里没有具体的 C++(除了我对
socket_connection类的不必要的评论,这绝对无关紧要) -
是的,
socket_connection让我感到困惑。 -
@KirilKirov C 没有范围解析运算符 (
::),只有 C++ 有。 -
@black - 是的,点了。