Socket编程学习笔记之TCP与UDP

Socket:

Socket是什么呢?

是一套用于不同主机间通讯的API,是应用层与TCP/IP协议族通信的中间软件抽象层。
是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的API就是全部,让Socket去处理数据并符合指定的协议。

门面模式(Facade Pattern)是一种常见的封装模式,它要求一个子系统的的外部与其内部的通信必须通过一个统一的接口对象进行门面模式的核心是门面角色,它封装了系统内部复杂子系统的接口,为客户端提供一个简单的高层接口

TCP与UDP(都工作于传输层)

1.什么是TCP(基于连接通讯):

  • 面向连接:数据传输之前客户端和服务器端必须建立连接
  • 可靠的:数据传输是有序的 要对数据进行校验

TCP全称Transmission Control Protocol 即传输控制协议,为广域网Wans设计。基于数据流的协议,流式传输。

特点:可靠的,安全的,传输数据保证可达,如果丢失会再次发送,流式的发送数据。

应用:http网页、文件传输、电子邮件、数据库访问

三次握手:

四次挥手:

2.什么是UDP(基于非连接通讯):

UDP全称User Dataprogram Protocol,用户数据报协议

特点:不可靠的(丢失数据包也不能处理),实时响应,速度快、资源消耗少。

应用:即时通信:视频直播、语音通话

3.TCP与UDP的区别:

相关推荐

  1. socket编程 学习笔记 理解

    2024-06-08 17:54:02       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 17:54:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 17:54:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 17:54:02       82 阅读
  4. Python语言-面向对象

    2024-06-08 17:54:02       91 阅读

热门阅读

  1. h5 拍照后压缩图片上传 方法直接用

    2024-06-08 17:54:02       36 阅读
  2. 系统与软件工程软件测试设计技术

    2024-06-08 17:54:02       32 阅读
  3. 图论第6天

    2024-06-08 17:54:02       28 阅读
  4. Decimal要从str转换以避免精度问题

    2024-06-08 17:54:02       30 阅读
  5. 005 CentOS 7.9 RabbitMQ安装及配置

    2024-06-08 17:54:02       45 阅读
  6. python使用appium设置会话时长

    2024-06-08 17:54:02       33 阅读
  7. Markdown入门语法笔记

    2024-06-08 17:54:02       32 阅读
  8. 排序---归并排序(简单优化前后比较)

    2024-06-08 17:54:02       29 阅读