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

相关推荐
Qinana21 小时前
从数据包旅程到首屏渲染:深入理解 TCP/IP 如何决定你的 Web 性能
前端·tcp/ip·浏览器
Sheffield3 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
blasit7 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
YuMiao7 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Jony_10 天前
高可用移动网络连接
网络协议
chilix10 天前
Linux 跨网段路由转发配置
网络协议
gihigo199812 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
龙仔72512 天前
在麒麟V10服务器安全加固,sshd防暴力破解加固,实现“密码错误3次封IP”的需求
服务器·tcp/ip·安全
白太岁12 天前
通信:(5) 电路交换、报文交换与分组交换
运维·服务器·网络·网络协议
EasyGBS12 天前
国标安全升级:GB28181平台EasyGBS支持GB35114协议的应用场景与核心优势
网络协议·安全·gb28181·gb35114