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

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的区别:

相关文章:

  • LabVIEW结构体内部缺陷振动检测
  • Android之保存图片到相册之前兼容不同机型需要注意的配置
  • 上岸北科大计算机专业难度有多大?北京科技大学计算机考研考情分析!
  • 【kubernetes】k8s集群安全机制 保姆级攻略
  • yg校园易购电商系统(Go+Vue)
  • DevExpress Installed
  • 人邮学院明日科技web前端开发案例教程(慕课版)第六章习题
  • java kotlin python 日志记录
  • 再度牵手,制造升级 | 毅达科技IMS OS+通用产品集+行业套件项目正式启动!
  • 【乐吾乐3D可视化组态编辑器】用开关控制巡检车和路灯
  • 艾宾浩斯winform单词系统+mysql
  • VMware导入vmdk文件(亲测有效)
  • MATLAB数学建模——数据拟合
  • Vue2事件处理(v-on)
  • 算法:11. 盛最多水的容器
  • 230. Kth Smallest Element in a BST
  • axios 和 cookie 的那些事
  • C++11: atomic 头文件
  • express.js的介绍及使用
  • extjs4学习之配置
  • Git初体验
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript 一些 DOM 的知识点
  • js如何打印object对象
  • JS数组方法汇总
  • Linux Process Manage
  • php中curl和soap方式请求服务超时问题
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Spring声明式事务管理之一:五大属性分析
  • vue中实现单选
  • 优化 Vue 项目编译文件大小
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​ssh免密码登录设置及问题总结
  • ###项目技术发展史
  • #14vue3生成表单并跳转到外部地址的方式
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (4)logging(日志模块)
  • (java)关于Thread的挂起和恢复
  • (ros//EnvironmentVariables)ros环境变量
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • .Mobi域名介绍
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET 中的轻量级线程安全
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net6 Api Swagger配置
  • .net访问oracle数据库性能问题
  • .sdf和.msp文件读取
  • []C/C++读取串口接收到的数据程序
  • [AI StoryDiffusion] 创造神奇故事,AI漫画大乱斗!