欢迎光临散文网 会员登陆 & 注册

Socket是什么

2022-12-28 16:59 作者:桥豆麻袋三赛  | 我要投稿


  • 初步了解

网络由下往上分为 物理层 、数据链路层 、 网络层 、 传输层 、 会话层 、 表现层 和 应用层。IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层。

  • 关于TCP/IP和HTTP协议的关系

常规理解:

TCP/IP协议是传输层协议,主要解决数据如何在网络中传输。

HTTP协议是应用层协议,主要解决如何包装数据。

通俗理解:

我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。如果想要使传输的数据有意义,则必须使用到应用层协议。

注:(1)应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。

(2) WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。

  • Socket是什么

实际上socket是对TCP/IP协议的封装,它的出现只是使得程序员更方便地使用TCP/IP协议栈而已。socket本身并不是协议,它是应用层与TCP/IP协议族通信的中间软件抽象层,是一组调用接口(TCP/IP网络的API函数)

  • 关于Socket和TCP/IP协议的关系

TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样。TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。

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


Socket是什么的评论 (共 条)

分享到微博请遵守国家法律