Appearance
函数原型
功能:接收对端发送的数据包
c
#include <sys/types.h>
#include <sys/socket.h>
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);参数
int sockfd:需要填写通信用的套接字文件描述符,即accept函数获取到的新的文件描述符;void *buf:指定要发送的数据包的首地址,可以接收任意类型数据;size_t len:指定要发送多少个字节的数据;int flags:0:阻塞方式接收,空间满的时候,该send函数阻塞;MSG_DONTWAIT:非阻塞;
sendto 独有参数
dest_addr:地址信息结构体(参考 bind(2)),因为是基于非连接的消息发送,需要填写接收方的地址信息。addrlen:地址信息结构体的大小
send(fd, buf, len, flags)等同于sendto(fd, buf, len, flags, NULL, 0)
返回值
>0, 成功,返回成功发送的字节数;-1, 失败,返回 -1,更新errno