zoukankan      html  css  js  c++  java
  • WebSocket与Socket、TCP、HTTP的关系和异同点

    今天来讲一下与其他协议的区别和相同点,让各位同学能够更加深入的去了解和运用各种协议。

    1 什么是WebSocket

      WebSocket从满足基于Web的日益增长的实时通信需求应运而生,解决了客户端发起多个Http请求到服务器资源浏览器必须要在经过长时间的轮询问题,实现里多路复用,是全双工、双向、单套接字连接,在WebSocket协议下服务器和客户端可以同时发送信息。

     

    2 WebSocket和Http的异同点

    同:1建立在TCP之上,通过TCP协议来传输数据。

    2 都是可靠性传输协议。

    3 都是应用层协议。

    异:1 WebSocket是HTML5中的协议,支持持久连接,HTTP不支持持久连接

    2 HTTP是单向协议,只能由客户端发起,做不到服务器主动向客户端推送信息。

     

    3 WebSocket和Socket

      Socket本身并不是一个协议,它工作在OSI模型会话层,是一个套接字,TCP/IP网络的API,是为了方便大家直接使用更底层协议而存在的一个抽象层。Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

      而WebSocket则是一个典型的应用层协议。

     

    4 WebSocket  HTTP和TCP/IP

     WebSocket和HTTP一样,都是建立在TCP之上,通过TCP来传输数据。后面的文章我会用代码举例子来展示。

     

    5 SocketTCP/IP 
      Socket是对TCP/IP协议的封装,像创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCPUDP),当使用TCP协议进行连接时,该Socket连接就是一个TCP连接。

      说了这么多,希望对大家来理解WebSocket与Socket、TCP、HTTP的关系有所帮助,如果大家在工作当中需要用到WebSocket而不能解决问题的时候,建议大家可以使用一下一些三方的WebSocket,融云、极光、GoEasy等,我这里就给大家推一个简单免费的三方WebSocket,GoEasy。很成熟的一款产品,推荐原因是代码简单,运行稳定。网站是www.goeasy.io,大家可以自己去看一下。下篇文章我会用代码来举例说明这篇文章没有具体说的地方。

  • 相关阅读:
    OCP 062【中文】考试题库(cuug内部资料)第29题
    413. 等差数列划分 力扣(中等) 找规律,细节
    264. 丑数 II 力扣(中等) 动态规划,不会
    313. 超级丑数 力扣(中等) 动态规划,不会做
    5840. 使字符串平衡的最小交换次数 力扣(中等) 第255场oppo周赛 猜出来的
    手写一个仿微信登录的Nodejs程序
    你不知道的CSS国际化
    React实现类似淘宝tab居中切换效果
    原来 CSS 这样写是会让 App 崩溃的
    css中class和id之间有什么区别?
  • 原文地址:https://www.cnblogs.com/goeasycloud/p/9327236.html
Copyright © 2011-2022 走看看