recv/send与recvfrom/sendto的区别

首先列出这四个函数的原型:

====================send/recv

#include <sys/socket.h>

ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags);

ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);

 

====================sendto/recvfrom

#include <sys/socket.h>

ssize_t recvfrom(int sockfd, void *buff, size_t nbytes, int flags, struct sockaddr *from, socklen_t *addrlen);

ssize_t sendto(int sockfd, const void *buff, size_t nbytes, int flags, const struct sockaddr *to, socklen_t *addrlen);

 

recv/send可用于TCP套接字及已连接的UDP套接字,而recvfrom/sendto在不指定对端的情况下同recv/send相同,指定对端的情况下可用于未连接的UDP套接字。

你可能感兴趣的:(DTO)