当前位置: 首页 > news >正文

Linux系统c语言socket实现UDP通信

UDP全称 User Datagram Protocol,即:用户数据报协议。是面向无连接的协议。通常,UDP 通信还会被冠以不可靠的头衔。这里的不可靠指的是:无法可靠地得知对方是否收到数据。

UDP有如下特征:

  • 无连接:通信双方不需要事先连接
  • 无确认:收到数据不给对方发回执确认
  • 不保证有序、丢失不重发
  • 采用帧同步的数据报通信方式(即通信双方每次的收发数据量相等)

简单来讲,UDP 类似于寄信,如果两个人除了信件之外没有任何别的通信方式,那么信件寄出去了之后,寄件人是无法得知收件人是否收到信件或者是否已经读取内容的。UDP 的特点是无需连接、无需确认、无需缓冲区和分包序列号,因此 UDP 的效率是比较高的。

UDP适用情况

  • 发送小尺寸数据(如对DNS服务器进行IP地址查询时)
  • 在接收到数据,给出应答较困难的网络中使用UDP。(如:无线网络)
  • 广播、组播模式
  • 即时通讯软件的点对点文本通讯以及音视频通讯
  • 流媒体、VOD、VoIP、IPTV等网络多媒体服务中的实时数据传输

UDP通信流程

发送方:

  • 创建 UDP 套接字: int fd = socket();
  • 准备好接收方的地址:struct sockaddr_in peerAddr;
  • 给对方发送 UDP 数据报:sendto(fd, peerAddr);
http://www.lryc.cn/news/69596.html

相关文章:

  • 常用五大类RFID系统,实践领域广泛,加强现代化管理
  • 卡方检验.医学统计实例详解
  • H264和AAC打包PS包代码
  • Redis数据类型-ZSet
  • 国外各大学和学院对于ChatGPT使用立场总结
  • 我在VScode学Java(Java二维数组)
  • HTML-iconfont动态图标SVG效果--阿里巴巴图标矢量库
  • C++17完整导引-模板特性之编译器的if语句
  • 告别Excel,免费大数据分析与可视化工具,让你的论文图表“高大上”
  • C++ 中的继承和多态
  • NestedFormer:用于脑肿瘤分割的嵌套模态感知Transformer
  • 【SQLServer】sqlserver数据库导入oracle
  • 【5.20】四、性能测试—性能测试工具
  • 朗诵素材-《少年正是读书时》(两角色主持朗诵)
  • 凭借这个笔记,拿下8家大厂offer....
  • 介绍一下全链路压测平台的相关内容
  • 对于无效的数据,该如何处理
  • 港联证券:机器人行业有望迎来整体性机会 六氟磷酸锂翻倍上涨
  • css 伪类选择器 结构伪类
  • 常用的表格检测识别方法-表格区域检测方法(上)
  • 【运维知识进阶篇】集群架构-Rewrite重定向
  • JavaScript如何使用while循环
  • 『MySQL 实战 45 讲』16 - “order by” 是怎么工作的
  • 怎么给移动硬盘查错?移动硬盘查错能恢复数据吗
  • javaIO流之缓冲流
  • 定义制造业操作(定义 MES/MOM 系统)
  • 人工智能专栏第二讲——人工智能的基础技术
  • 注意!ChatGPT的Plus账号也会被封禁
  • 理解:Public Key Cryptography的应用
  • 深度学习中的图像分类介绍