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

Linux12-UDP\

一、UDP

1.特点:

尽最大努力交付,存在丢包的可能

无连接

面向数据报

机制简单,传输效率高

2.应用场景:

1.画面传输 VNC 直播:要求实时性高、允许数据丢失、

二、TCP

1.特点:

面向数据流(流式套接字)

建立连接

安全可靠的传输协议

        三次握手:TCP建立连接时,需要进行三次握手,确保收发数据前,双方都已准备就绪

        SYN:

        ACK:

        四次挥手:TCP断开连接时,需要进行四次挥手,从而确保通信双方都已收发数据结束。

2.编程

C/S模型:

        客户端:

        socket()//SOCK_STREAM流式套接字

        connect()

        send()

        recv()

        close()

 ssize_t send(int sockfd, const void *buf, size_t len, int flags);
功能:
        发送数据
 参数:
        sockfd:套接字文件描述符
        buf:存放数据空间首地址
        len:数据长度
        flag:属性默认为0 
 返回值:
        成功返回发送字节数
        失败返回-1 
ssize_t recv(int socket,void *buf,size_t len,int flags)
功能:从tcp套接字接受数据

参数:
sockfd:套接字
bu:保存接收数据内容的首地址

len:期待接收到的字节数
flags:0:默认方式

返回值:

成功:实际收到的字节数

        当发送端关闭时,返回时0

失败:-1

        服务端:

        socket()(监听套接字)

        bind()

        listen()(监听:要和服务端建立三次握手的客户端)

        accept()(通信套接字、接收和服务端第一个完成三次握手的客户端,并产生一个通讯套接字)

        recv()

        send()

        close()

  int listen(int sockfd, int backlog);
 功能:
        监听三次握手链接请求
 参数:
        sockfd:套接字文件描述符
        backlog:最多允许等待尚未处理的三次握手链接个数
返回值:
        成功返回0 
        失败返回-1 

 int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

  功能:
          处理三次握手等待队列中的第一个请求并建立一个用来通信的新套接字
参数:
          sockfd:套接字文件描述符
          addr:存放发送端IP地址空间首地址 
          addrlen:想要接收的IP地址的长度 
  返回值:
          成功返回新文件描述符
          失败返回-1 

http://www.dtcms.com/a/48593.html

相关文章:

  • MAC 本地搭建部署 dify(含 github访问超时+Docker镜像源拉取超时解决方案)
  • 网络安全有必要学编程吗?
  • MIPI接口:(4)MIPI CSI-2协议详解(上)
  • list的两个实现类
  • 关于android studio设备镜像的设置
  • 《基于Hadoop的青岛市旅游景点游客行为分析系统设计与实现》开题报告
  • 2025国家护网HVV高频面试题总结来了03(题目+回答)
  • Java-实现PDF合同模板填写内容并导出PDF文件
  • 【二.提示词工程与实战应用篇】【1.提示词工程入门:AI对话的艺术】
  • 魔发奇缘,3D发型生成新突破!TANGLED:利用任意样式和视点的图像生成 3D 发束
  • debian/control中的包关系
  • Tomcat-web服务器介绍以及安装部署
  • 【音视频】H265解码Nalu后封装rtp包
  • 项目准备(flask+pyhon+MachineLearning)- 1
  • SpringBoot集成Elasticsearch 7.x spring-boot-starter-data-elasticsearch 方式
  • ZYNQ-PL实践课堂(五)IP核之FIFO
  • unity pico开发 五 UI交互
  • PyTorch GPU显存管理与大规模张量操作
  • 虚拟网络IP设置
  • Focal Loss (聚焦损失) :解决类别不平衡与难易样本的利器,让模型学会“重点学习”
  • LINUX网络基础 - 网络编程套接字,UDP与TCP
  • Tauri跨平台开发问题及解决方案深度解析(React版)
  • 学生管理信息系统的需求分析与设计
  • 基于提示驱动的潜在领域泛化的医学图像分类方法(Python实现代码和数据分析)
  • 新一代信息技术:从技术范畴到未来趋势的全景洞察
  • 千峰React:组件与逻辑封装(下)
  • 神经网络 - 激活函数(Maxout 单元)
  • 【华为OD机试真题29.9¥】(E卷,100分) - IPv4地址转换成整数(Java Python JS C++ C )
  • 苹果iPhone 17 Pro系列将配备12GB内存,AI功能成升级关键
  • 2025机械考研复试面试问题汇总篇(含13门科目),考研机械复试专业面试常见重点问题总结!考研机械复试专业面试准备看这一篇就够了!