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

相关推荐
Trouvaille ~6 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
Arvin6278 小时前
研发环境:SSL证书快速部署
网络·网络协议·ssl
酣大智8 小时前
DHCP中继配置实验
运维·网络·网络协议·tcp/ip·华为
丁劲犇9 小时前
CentOS 7.6 TCP连接奇慢故障排查:中文注释引发的sysctl配置异常
linux·tcp/ip·centos·速度慢
玉梅小洋11 小时前
Linux命令详解 —— IP 命令及永久配置
linux·运维·tcp/ip
huohaiyu11 小时前
IP协议详解
服务器·网络·tcp/ip
LaoZhangGong12312 小时前
学习TCP/IP的第9步:客户端和服务端综合测试
网络·学习·tcp/ip
aesthetician14 小时前
WebSocket: 实时通信的脉动:深度解析与 TypeScript 实践
websocket·网络协议·typescript
云小逸15 小时前
【网络通信】TCP核心原理深度解析:三次握手/四次挥手为基,拥塞控制与慢启动核心精讲
网络·网络协议·tcp/ip
深蓝电商API15 小时前
httpx 异步客户端处理 WebSocket 数据
websocket·网络协议·httpx