网络编程Socket,TCP/UDP

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

今天对网络编程Socket的TCP,UDP进行了回顾,并上网学习了,以下大部分截图在网上学习的视频中截图,记录一下:

一、socket是什么?

socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。我的理解就是Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭),这些函数我们在后面进行介绍。

Socket又称为套接字,它是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。
socket建立计算机与计算机之间的连接,建立连接之后能够发送数据包

二、详解

1.网络传输

在这里插入图片描述

在建立连接之前要得知ip地址和端口号
ip地址:每一台计算机的网络标识,在同一个网络内是唯一的
端口号:应用程序的标识,一个端口号对应一个应用程序

2.网络模型

在这里插入图片描述

在这里插入图片描述

3.TCP和UDP对比

TCP(Transmission Control Protocol)可靠的、面向连接的协议、传输效率低全双工通信(发送缓存&接收缓存)、面向字节流。使用TCP的应用:Web浏览器;文件传输程序。

UDP(User Datagram Protocol)不可靠的、无连接的服务,传输效率高(发送前时延小),一对一、一对多、多对一、多对多、面向报文(数据包),尽最大努力服务,无拥塞控制。使用UDP的应用:域名系统 (DNS);视频流;IP语音(VoIP)。

在这里插入图片描述
TCP:面向连接,客户端与服务器之间经历三次握手采用字节进行数据的传输,较为安全,但效率比UDP慢

UDP:面向无连接,丢包,每一个数据包大小限制64k以内,不安全
#HTTP协议底层就是采用TCP协议

TCP

三次握手
在这里插入图片描述
建立连接后,如果服务端挂了,如何断开连接
在这里插入图片描述

四次挥手
在这里插入图片描述

案例
在这里插入图片描述
在这里插入图片描述

UDP

案例
在这里插入图片描述
在这里插入图片描述

总结

所看视频链接:https://www.bilibili.com/video/BV1SV411t7Rq?p=1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值