【发布时间】:2015-07-23 09:48:30
【问题描述】:
正如您在手册页中看到的:
ssize_t send(int sockfd, const void *buf, size_t len, int flags);
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
const struct sockaddr *dest_addr, socklen_t addrlen);
ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags);
【问题讨论】:
-
套接字 (BSD) API 早于 POSIX 和 C89。修改套接字 API 将存在中断代码,并且没有迫切需要将它们设为“无符号”。 POSIX 说文件描述符不能为负数。所以你也可以为
send*()的第一个参数做同样的参数。我怀疑原因是“历史性的”(可能只是任意选择)。