zoukankan      html  css  js  c++  java
  • 什么是Socket:

    先了解一些前提:

    网络由下往上分为 物理层 、数据链路层 、 网络层 、 传输层 、 会话层 、 表现层 和 应用层。
    通过初步了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层。
    TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP协议是应用层协议,主要解决如何包装数据。

    关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:
    我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。如果想要使传输的数据有意义,则必须使用到应用层协议。
    应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。
    WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”


    什么是Socket:
    网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
    建立网络通信连接至少要一对端口号(socket)。
    socket本质是编程接口(API),对TCP/IP协议的封装。
    它的出现只是使得程序员更方便地使用TCP/IP协议栈而已。
    socket本身并不是协议,它是应用层与TCP/IP协议族通信的中间软件--抽象层,是一组调用接口(TCP/IP网络的API函数)
    TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。
    HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

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

    HTTP是轿车,提供了封装或者显示数据的具体形式;
    Socket是发动机,提供了网络通信的能力。

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

    socket在哪里

  • 相关阅读:
    ccache——/root/.ccache
    Ionic 2 | Tutorial | Let’s Create Our First Application
    Ionic 2 Tutorial
    搭建移动端框架Ionic+Genymotion开发环境
    【2020】输出矩阵
    【2015】给一个不多于三位的正整数,求出它是几位数,并分别打印出各位上的数字。
    【2021】小球走过的路程
    【2022】余料最少
    【2023】将十进制数转化为二进制数
    【2024】求X到Y之间的整数和
  • 原文地址:https://www.cnblogs.com/sinsenliu/p/9560107.html
Copyright © 2011-2022 走看看