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

相关推荐
豪宇刘2 小时前
从三个维度了解 RPC(Remote Procedure Call,远程过程调用)
网络·网络协议·rpc
人工干智能8 小时前
科普:你的笔记本电脑中有三个IP:127.0.0.1、无线网 IP 和局域网 IP;两个域名:localhost和host.docker.internal
网络协议·tcp/ip·电脑
anddddoooo12 小时前
域内证书维权
服务器·网络·网络协议·安全·网络安全·https·ssl
mit6.82412 小时前
[实现Rpc] 通信-Muduo库的实现 | && 完美转发 | reserve | unique_lock
c++·网络协议·rpc
IsToRestart13 小时前
什么是RPC,和HTTP有什么区别?
网络协议·http·rpc
okok__TXF13 小时前
Rpc导读
网络·网络协议·rpc
猫猫的小茶馆14 小时前
【网络编程】UDP协议
linux·服务器·网络·网络协议·ubuntu·udp
r_martian16 小时前
RPC:分布式系统的通信桥梁
网络·网络协议·rpc
KeLin&16 小时前
ESP32 websocket-client
网络·websocket·网络协议
科技小E17 小时前
EasyRTC:基于WebRTC与P2P技术,开启智能硬件音视频交互的全新时代
网络·网络协议·小程序·webrtc·p2p·智能硬件·视频监控