Socket相关的内容
什么是Socket
在计算机通信领域,Socket被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过Socket这种约定,一台计算机可以接收到其他计算机的数据,也可以向其他计算机发送数据。
Socket的本质
Socket的本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这个就是Scoket编程接口
Socket的作用
Socket的英文原意是“插座”,的意思,通常在计算机编程中称作套接字,可以用来实现不同虚拟机或不同计算机之间的通信
Socket的典型应用
-
Socket的应用之一就是Web服务器和浏览器:浏览器获取用户输入的URL地址,向服务器发起请求,服务器分析接收到的URL请求,将对应的网页内容返回给浏览器,浏览器再经过解析和渲染,将文字、图片、视频等元素呈现给用户
-
QQ或者微信或者默默等聊天社交工具等:本地的QQ或微信程序就是客户端,登录过程就是连接服务器的过程,聊天过程就是Socket的发送和接受信息过程
Socket介绍
把Socket比作门,门外是邮局,你送信就需要通过门,把信从门送出去到邮局,然后由邮局帮你送达目标的门,目的地主人再打开门,从门取出邮局送过来的信。
分析一下通信过程(打电话):
两人之间打电话:
-
需要做好的保障:两人都要有电话,可正常通话的电话就是Socket
可正常通话的电话:电话能用,电话要插有电话线(信号器),电话要有卡
-
发送消息者通过一端的电话拨号等待
-
接收消息者通过另一端的电话接听
-
发送消息者和接受消息者之间可以进行通过
-
消息沟通完毕之后由任意一端先Say Go Bey!挂断电话断开
-
剩余的一端被迫断开连接,至此通信结束
网络传输
OSI七层网络模型
在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版了开放系统互联的七层参考模型。一台计算机操作系统中的网络过程包括从应用请求(在协议栈的顶部)到网络介质(底部) ,OSI参考模型把功能分成七个分立的层次。
特点:
-
人们可以很容易的讨论和学习协议的规范细节。
-
层间的标准接口方便了工程模块化。
-
创建了一个更好的互连环境。
-
降低了复杂度,使程序更容易修改,产品开发的速度更快。
-
每层利用紧邻的下层服务,更容易记住个层的功能。
网络模型
网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给另外一个设备,然后接受另外一个设备反馈的数据。
现在的网