分享

UDP编程

 sky_feiyang 2015-05-07
客户端: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中,这样下次服务器就可以用该信息向客户端发送数据了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多