小工具知识网

当前位置: 首页 > 行业知识 > 【Linux C | 网络编程】入门知识:UDP协议、一个最简单的UDP客户端、一个最简单的UDP服务端

行业知识

【Linux C | 网络编程】入门知识:UDP协议、一个最简单的UDP客户端、一个最简单的UDP服务端

2026-10-22 02:40:26 来源:互联网转载

博客主页:https://blog.csdn.net/wkd_007

博客内容:嵌入式开发、Linux、C语言、C++、数据结构、音视频

本文内容:介绍网络编程入门知识:UDP协议、UDP客户端、UDP服务端

金句分享:你不能选择最好的,但最好的会来选择你——泰戈尔

⏰发布时间⏰:2024-02-29 09:23:52

本文未经允许,不得转发!!!

目录

  • 一、UDP协议概述
  • 二、一个最简单的UDP客户端
    • ✨2.1 udp客户端步骤和代码
    • ✨2.2 udp客户端相关函数
    • 三、一个最简单的UDP服务端
      • ✨2.1 udp服务端步骤和代码
      • ✨2.2 udp服务端相关函数
      • 四、总结

        一、UDP协议概述

        UDP协议是一个简单的传输层协议,在RFC 768 [Postel 1980]中有详细说明。应用进程往一个UDP套接字写入一个消息,该消息随后被封装( encapsulating)到一个UDP数据报,该UDP数据报进而又被封装到一个IP数据报,然后发送到目的地。UDP不保证UDP数据报会到达其最终目的地,不保证各个数据报的先后顺序跨网络后保持不变,也不保证每个数据报只到达一次。


        UDP协议的几个特点:

        • 1、UDP提供无连接服务。UDP客户端与UDP服务端不必存在任何长期的关系。一个UDP客户端可以发送一个数据报给一个UDP服务端,然后又立即发送另一个数据报给另一个UDP服务端。同样地,UDP服务端可以用一个UDP套接字接收多个UDP客户端数据。
        • 2、UDP是不可靠性。UDP不保证UDP数据报会到达其最终目的地,不保证各个数据报的先后顺序跨网络后保持不变,也不保证每个数据报只到达一次。

          TCP会给每个分节关联一个序列号,如果接收到重复数据,可以判定数据重复并丢弃。

        • 3、每个数据报都有一个长度,并随着数据报一并传递给接收端进程。不同于没有任何记录边界的字节流协议TCP。

          二、一个最简单的UDP客户端

          ✨2.1 udp客户端步骤和代码

          编写UDP客户端的步骤:

          • 1、创建UDP套接字socket:SOCK_DGRAM;
          • 2、准备UDP服务端ip和端口,bzero、inet_pton
          • 3、使用sendto、recvfrom交互数据;
          • 4、关闭套接字
            // udpCli.c// gcc udpCli.c -o udpCli#include #include #include #include #include int main(){// 1、创建UDP套接字socketint sockfd = socket(AF_INET, SOCK_DGRAM, 0);if(sockfdrecvline[n] = 0 ;/*null terminate */printf("recv[%s]\n",recvline);}if (n 

上一篇:怎么做付费网站?

下一篇:Win10系统防火墙关闭教程,轻松掌握操作指南