学习笔记(linux高级编程)13

网络编程之 UDP  用户数据报

1、特性: 无链接  不可靠  大数据  

2、框架: C/S模式

   server:socket() ===>bind()===>recvfrom()===>close()

   client:socket() ===>bind()===>sendto() ===>close()

注意:socket()的参数需要调整。

      socket(PF_INET,SOCK_DGRAM,0);

     bind() 客户端是可选的,服务器端是比选的。

发送接收函数:

ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,

            const struct sockaddr *dest_addr, socklen_t addrlen);

功能:用于UDP协议中向对方发送数据。

参数:sockfd  本地的套接字id

     buff    本地的数据存储,一般是要发送的数据。

     len     要发送的数据长度

     flags   要发送数据方式,0 表示阻塞发送。

     dest_addr: 必选,表示要发送到的目标主机信息结构体。

     addrlen :目标地址长度。

返回值:成功  发送的数据长度

       失败   -1;

ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,

                  struct sockaddr *src_addr, socklen_t *addrlen);

功能:用于UDP协议中获取对方发送的数据。

参数:sockfd 本地的套接字id

     buff   要存储数据的内存区,一般是数组或者动态内存。

     len    要获取的数据长度,一般是buff的大小。

     flags  获取方式,0 阻塞

     src_addr 可选,表示对方的地址信息结构体,

                如果为NULL,表示不关心对方地址。

     addrlen  对方地址信息结构体大小。

                如果对方地址是NULL,则该值也为NULL。

返回值:成功 接收到的数据长度

         失败  -1;

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值