在计算机通信领域,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!挂断电话断开
- 剩余的一端被迫断开连接,至此通信结束