客户端:socket()->sendto()<->recvfrom()->close() 服务器端:socket()->bind()->revcfrom()<->sendto()->close() #include<sys/socket.h> int sendto(int sockfd,const void* buf,int len,unsigned int flags, struct sockaddr* toaddr,int* addrlen) int recvfrom(int sockfd,void* buf,int len,unsigned int flags, struct sockaddr* fromaddr,int* addrlen) 若成功则返回实际发送或者接收的字节数,否则返回-1 参数:sockfd为UDP的套接字,buf为发送或者接收的缓冲区,len为发送或者接收的字节数,flags一般置0,toaddr为数据发送的套接字地址,fromaddr为数据接收的套接字地址,addrlen为地址长度 首先一定是客户端向服务器发送数据,因为客户端知道服务器的IP和端口号,服务器调用recvfrom函数接收数据时,会将客户端的地址信息保存在fromaddr中,这样下次服务器就可以用该信息向客户端发送数据了。
|
|
来自: sky_feiyang > 《网络》