1 Socket

Socket:是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中,端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

应用层通过传输层进行数据传输的时候,TCP会遇到同时为多个应用程序进程提供并发服务的问题。为了区别不同的应用程序和连接,不同计算机操作系统为进程与TCP、IP协议交互提供了套接字接口,应用层和传输层通过socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输并发服务

建立Socket连接:

至少需要一对套接字,其中一个运行在客户端,称为ClientSocket,另一个运行在服务器,称为ServerSocket,

套接字之间的连接过程分为三个步骤:服务器监听、客户端请求、连接确认

服务器监听:服务器端套接字并不定位具体的客户端套接字,而是出于等待连接的状态,实时监控网络状态,等待客户端的连接请求

客户端请求:指的是客户端的套接字提出连接请求,要连接的目标是服务器端的套接字,客户端的套接字必须首先描述它要连接的服务器的套接字,支出服务器套接字的地址和端口号,然后向服务器端套接字提出连接请求

连接确认:当服务器端套接字监听或者说收到客户端套接字的链接请求时,就响应客户端套接字的请求,简建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方正式建立连接。而服务器端套接字继续处于监听状态,继续接受其他客户端套接字的请求

http协议底层使用的就是socket

Socket连接与TCP连接:

创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。


Socket:网络上两个程序通过一个 双向通信连接 实现数据的交换,这个连接的一端成为一个socket

应用程序通过socket向网络发出请求和响应请求

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Socket理论知识 网络七层,由上到下分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。(物数...
    fwlong阅读 541评论 0赞 0
  • 参考:http://www.2cto.com/net/201611/569006.html TCP HTTP UD...
    F麦子阅读 3,109评论 0赞 14
  • 第一部分、概念的理解1、什么是Socket?Socket又称之为“套接字”,是系统提供的用于网络通信的方法。它的实...
    Hevin_Chen阅读 2,670评论 0赞 5
  • 别让这座城市,留住了你的青春,却留不住你。
    青子丹阅读 262评论 0赞 0
  • 安装 首先,到官网https://www.python.org/downloads/选择2.xx或者3.xx版本。...
    leomei91阅读 238评论 1赞 0

友情链接更多精彩内容