概念点总结:

使用Socket建立网络连接的步骤

建立Socket连接至少需要一对套接字,其中一个运行与客户端,成为ClientSocket,另一个运行与服务端,成为ServerSocket' '套接字建立连接过程分为三个步骤:服务器监听,客户端请求,连接确认

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

  • 2、客户端请求:指客户端的套接字提出请求,要连接目标服务器端的套接字

  • 3、连接确认:当服务器端套接字的描述发给客户端,一旦客户端确认了次描述,双方就正式建立连接。

而服务器的套接字继续处于监听状态,继续接受其他客户端套接字的连接请求



  • 网络由上往下分为:应用层、表示层、会话层、传输层、网路层、数据链路层、物理层。

  • socket是对TCP/IP协议的封装和应用,TCP/IP是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据。

  • 传输数据如果只使用传输层协议,没有应用层,便无法识别数据内容。

  • socket实际上是对TCP/IP协议的封装,Socket本省并不是协议,而是调用一个调用接口API。通过Socket,我们才能使用TCP/IP协议。

  • TCP/IP只是一个协议栈,就像操作系统的运行机制一样。必须要具体实现,同时还要对外提供操作接口。这个就像操作系统提供的标准的编程接口,比如win32编程接口一样。

  • 网络上提供了一个比较形象的描述:HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

  • 实际上,传输层的TCP协议是基于网络层的IP协议的,而应用层的HTTP协议有事基于传输层的TCP协议的,而Scoket本身不算是协议,就像上面所说,它只是提供了一个阵地TCP或者是UDP编程的接口。