美文网首页
udp简单解析

udp简单解析

作者: 烟花繁江尘辗 | 来源:发表于2020-07-02 10:30 被阅读0次
1.udp编程框架
  • UDP :用户数据报协议(传输层),非连接的协议;

    适用一次性传输数据量少,对可靠性要求不高,对实时性要求高的应用场景

  • UDP通讯流程


    连接图
2.udp程序设计的常用函数
#include <sys/types.h>          
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
  • 根据指定的地址族、数据类型和协议来分配一个socket的描述字及其所用的资源。

    domain:协议族,常用的有AF_INET、AF_INET6、AF_LOCAL、AF_ROUTE其中AF_INET代表使用ipv4地址

    type:socket类型,常用的socket类型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、 SOCK_SEQPACKET等

    protocol:协议。常用的协议有,IPPROTO_TCP、IPPTOTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等

    返回值:成功:非负的文件描述符,失败:-1

#include <sys/types.h>
#include <sys/socket.h>
int bind(int sockfd, const struct sockaddr* addr, socklen_t addrlen);
  • 把一个地址族中的特定地址赋给socket

    sockfd:socket描述字,也就是socket引用

    addr:要绑定给sockfd的协议地址

    addrlen:地址的长度

    返回值:成功:0,失败:-1

#include <sys/types.h>
#include <sys/socket.h>
ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
 const struct sockaddr *dest_addr, socklen_t addrlen);
  • 指向一指定目的地发送数据

    sockfd:正在监听端口的套接口文件描述符,通过socket获得

    buf:发送缓冲区,往往是使用者定义的数组,该数组装有要发送的数据

    len:发送缓冲区的大小,单位是字节

    flags:填0即可

    dest_addr:指向接收数据的主机地址信息的结构体,也就是该参数指定数据要发送到哪个主机哪个进程

    addrlen:表示第五个参数所指向内容的长度

    返回值:成功:返回接收成功的数据长度,失败:-1

#include <sys/socket.h>
ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,
 struct sockaddr *src_addr, socklen_t *addrlen);
  • 用于从(已连接)套接口上接收数据,并捕获数据发送源的地址

    sockfd:正在监听端口的套接口文件描述符,通过socket获得

    buf:接收缓冲区,往往是使用者定义的数组,该数组装有接收到的数据

    len:接收缓冲区的大小,单位是字节

    flags:填0即可

    src_addr:指向发送数据的主机地址信息的结构体,也就是我们可以从该参数获取到数据是谁发出的

    addrlen:表示第五个参数所指向内容的长度

    返回值:成功:返回接收成功的数据长度,失败:-1

#include <unistd.h>
int close(int fd);
  • 关闭socket产生的fd

相关文章

  • udp简单解析

    1.udp编程框架 UDP :用户数据报协议(传输层),非连接的协议;适用一次性传输数据量少,对可靠性要求不高,对...

  • 第十章、网络相关

    一、了解DNS解析吗? 域名到IP地址的映射,DNS解析请求采用UDP数据报,且明文。之所以采用UDP,TCP连接...

  • windows 2003 禁止UDP的bat

    udp除53 DNS解析,161 snmp监控端口 及时间同步服务123这三个udp的端口外,禁用所有udp出入站...

  • Java-网络编程

    网络参考模型 网络要素-IP地址 网络要素-域名解析 TCP和UDP UDP 应用 发送端 接收端

  • 趣谈网络协议听课笔记

    TCP/UDP处于运输层 UDP UDP报文比较简单:主要包含有源端口号和目的端口号。从而也看出UDP简单粗暴,只...

  • DNS解析

    DNS解析 了解DNS解析 域名到IP地址的映射,DNS解析请求 才有UDP数据报,且明文 DNS解析查询方式 D...

  • DNS解析

    了解DNS解析吗? 域名到IP地址的映射,DNS解析请求采用UDP数据报,并且明文显示。 DNS解析查询方...

  • 网络协议笔记day05:UDP协议|TCP协议|套接字Socke

    1UDP协议 如果将TCP比作成熟的社会人,UDP则是头脑简单的小朋友。TCP复杂,UDP简单;TCP...

  • 网络分层模型和TCP/IP协议族 —— TCP/UDP

    这篇简单讲讲用于传输层中用于可靠性的TCP和UDP协议 UDP UDP协议主要讲 端口 + 校验和 优点:简单 快...

  • 2020-05-12 四

    dns 域名到ip 53端口udp 数据报 明文传输 DNS劫持问题:因为DNS解析使用UDP数据报且是明文...

网友评论

      本文标题:udp简单解析

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