美文网首页
2019-12-05基于UDP的服务器/客户端

2019-12-05基于UDP的服务器/客户端

作者: 林定益想去NASA捡垃圾 | 来源:发表于2019-12-05 15:09 被阅读0次

    UDP套接字的特点

    流控制是区分UDP和TCP的最重要的标志

    UDP内部工作原理

    数据包传输中UDP和IP的作用.png

    由上图可以看出,UDP最主要的作用就是根据端口号将传到主机的数据包交付给最终的UDP套接字。

    UDP中的服务器端和客户端没有连接

    与TCP不同,不必调用listen函数和accept函数,UDP中只有创建套接字的过程和数据交换过程。

    基于UDP的数据I/O函数

    创建好TCP套接字后,传输数据时无需再添加地址信息,但由于UDP不会保持连接(相当于邮筒),因此每次传输数据都要添加目标地址信息。

    #include <sys/socket.h>
    ssize_t sendto(int sock,void *buff,size_t nbytes,int flags,struct sockaddr *to,socklen_t addrlen);
    
    • sock 用于传输数据的UDP套接字文件描述符
    • buff 保存待传输数据的缓冲地址值
    • nbytes 待传输的数据长度,以字节为单位
    • flag 可选项参数,若没有则传递0
    • to 存有目标地址信息sockaddr结构体变量的地址值
    • addrlen 传递给参数to的地址值结构体变量长度
    #include <sys/socket.h>
    ssize_t recvfrom(int sock,void *buff,size_t nbytes,int flags,struct sockaddr *from,socklen_t addrlen);
    
    • sock 用于接收数据的UDP套接字文件描述符
    • buff 保存接收数据的缓冲地址值
    • nbytes 可接收的数据长度,以字节为单位
    • flag 可选项参数,若没有则传入0
    • from 存有发送端地址信息sockaddr结构体变量的地址值
    • addrlen 传递给参数tfrom的地址值结构体变量长度

    相关文章

      网友评论

          本文标题:2019-12-05基于UDP的服务器/客户端

          本文链接:https://www.haomeiwen.com/subject/fprdgctx.html