recvfrom()函数一般应用在UDP等数据报文协议的网络编程中,recvfrom()函数的主要功能是接收数据报并保存发送者的信息。
在socket通信中,用户名和密码明文传输是不安全的,在这里,我们用recvfrom来获取远端IP地址,然后进行加密传输。
当我们想知道数据从哪里来,或者需要知道我们所接收的消息的发送方是谁时,就可以使用recvfrom()函数了。
该函数具有以下几个参数:
int socket(int domain, int type, int protocol);
void *buff;
size_t length;
int flags;
struct sockadddr *from;
socklen_t *fromlen;
其中第一个参数是socket(),第二个参数是指向我们希望保存数据的缓冲区,而第三个参数指定缓冲区的大小。
第四个参数是标志,这通常将被设置为0,因为我们可以使用默认选项。返回值是我们可以发现的数据,也就是消息元素的数量。
第五个参数是用户存放源socket地址的缓冲区地址,它的长度也要作为参数传入。