首页 > 编程知识 正文

三个字的大白话,显卡干什么用的大白话

时间:2023-05-04 22:28:32 阅读:164157 作者:2976

好好学习,每天提高

这篇文章收录在我的Github仓库daydayup里。 github.com/robodlee/daydayup,欢迎来到Star,更多文章请前往“目录导航”

首先,我从去年开始学习了Java中套接字的使用,但对套接字的理解一直很模糊。 看了网上很多插座的介绍,直到最后都不太明白什么是插座,还是迷上了。 直到最近学习了计算机网络,我对套接字有了更深的了解。 之前不理解套接字是因为没有学习过计算机网络,所以很多概念很模糊。 那么,今天用最简单的语言说明一下什么是插座,希望能对学习插座的同学有所帮助。 少废话,开始进入正题。

本文为了说明套接字,首先要了解TCP,为了了解TCP,必须了解TCP/IP的体系结构和每层的大致工作,所以先来谈谈TCP/IP的层次。

TCP/IP架构首先简单介绍了OSI参考模型,OSI将网络分为七层,自下而上分别为物理层、数据链路层、网络层、传输层、传输层、表示层、APP应用层IP架构将网络分为四层,自下而上分别是网络接口层、网络层、传输层、APP应用层。 为了理解每一层,我们把网络接口层分成物理层和数据链路层来讲。 在《图解TCP/IP》上查找了OSI参考模型和TCP/IP体系结构的对照图。 请看。

在介绍了TCP/IP有哪些层之后,我们将大致介绍每一层的功能。 计算机世界很奇怪,其中很多东西和现实世界一一对应。 这可能也是计算机设计师们的意图。 首先说明数据包在网络上的传输过程,然后对照物流的例子进行说明,应该知道各层的作用。

请看上图,发送方希望向接收方发送数据。 首先,APP应用层准备了要发送的数据,并将其传递给了传输层。 传输层的主要作用是为发送方和接收方提供可靠的连接服务,传输层对数据进行处理后传递给了网络层。 网络层的功能是管理网络,其核心功能之一是选择路由(路由),从发送方到接收方有许多路要走,网络层管理下一个数据应该去哪个路由器。 选择路径会将数据发送到数据链路层。 该层负责将数据从一个路由器发送到另一个路由器。 然后是物理层。 很容易理解。 物理层是像网线这样最基础的设备。

即使看了我上面的一段也可能有很多同学知道一半,没关系。 用物流的例子再说明一遍就知道了:

yydll住在上海市长江路幸福区5#666,目前yydll在京东上买了小米10Pro。 京东接到小米的订单后,工作人员从仓库里找到了小米10 pro (APP应用层)。 工作人员把手机打包,交给了京东物流(传输层)。 接下来手机到达传输中心(路由器)。 传输中心根据时间、成本等一系列因素,决定下一步应该发往哪个传输中心(网络层)。 下一步决定送到哪个运输中心后,就开始用卡车运输。 运输的过程是数据链路层。 链路层负责将数据从一个端点发送到另一个端点。 卡车行驶的道路是物理层。 转了几次,手机安全地到了yydll手里。

看了这个例子之后,我想大家应该知道了数据在网络上传输的过程和各层的作用吧。 那么接下来介绍一下TCP吧。

TCP协议我们先来看看百度百科对TCP协议的定义。传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议这个文字是什么意思,再谈谈上面的例子吧。

发货前工作人员必须先确认一下路是否通行吧。 例如,现在是正月。 物流全部都停了,不是没路走吗? 那个有什么东西在发送呢。 如果没有任何问题的话,只要物流一切正常运转就发货就可以了。 手机到达yydll家后,yydll首先拆开查看手机在运输过程中是否损坏,如有损坏,请联系客服处理,如无问题,确认领取。 回到上面的定义,面向连接意味着建立连接后再发送数据,也就是说在确认道路畅通后再发货。 可以肯定的是,如果货物在运输中损坏或丢失,就会让其重新发货到京东,确保yydll收到的手机没有任何问题。 基于字节流的含义是,例如yydll买了手机之后再买手机配件,然后分批发货,并不是有几件东西装在一个包裹里,一件一件地发送。 在这个例子中,京东的工作人员和yydll起到了TCP协议的作用,他们俩共同确保了货物的完整性。

套接字在说明了TCP/IP架构和TCP协议的大致内容后,可以说什么是套接字。 首先来看看百度百科对Socket的介绍吧。套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。

我们把一个单元比作一台计算机,一台计算机里跑着很多程序。 怎么区分程序呢? 正在使用端口。 就像塞尔在门牌号上区分各家一样。 手机送到了yydll的家。 怎么进去? 从玄关进去吗? 我怎么找到玄关? 是门牌号码吧。 来自互联网的数据不就等于找到接收方的计算机,并确定应该从端口传递哪个程序吗? yydll家的入口可以用小区的地址唯一表示

,那么同样的道理,程序也可以用IP+端口号进行唯一标识。那么这个程序的入口就被称作Socket。

现在再来说说什么是Socekt编程,我们将TCP协议简化一下,就只有三个核心功能:建立连接、发送数据以及接收数据。我们再来看一下Java中提供的Socket类中的核心功能:

是不是和TCP协议一样,所以可以把Socket编程理解为对TCP协议的具体实现。现在解释清楚什么是Socket后,我相信现在无论是Java还是C#,或是其它语言,你都可以对于Socket编程轻松地上手了。

写在最后

写这篇文章的目的就是为了让大家对于Socket有个大概的了解,文章中有很多东西都没有提到,比如TCP/IP体系结构中每一层的作用远没有我说的那么简单,大家如果有兴趣的话可以再深入的学习一下。

如果我的文章对你有些帮助,不要忘了点赞收藏转发关注。要是有什么好的意见欢迎在下方留言。让我们下期再见!

码字不易,可以的话,给我来个点赞,收藏,关注

如果你喜欢我的文章,欢迎关注微信公众号 『 R o b o d 』

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。