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,大家可以自己去看一下。下篇文章我会用代码来举例说明这篇文章没有具体说的地方。

  • 相关阅读:
    isteven-multi-select
    javascript学习之js对象和json对象(obj=JSON.parse(stu))
    jquery学习之路之元素类的切换toggle
    jquery学习之路之测验错题集
    jquery学习之路之核心函数
    jquery学习之路之选择过滤
    较完整的angularjs+bootstrap应用程序接口controller
    angularjs+requeirjs模块化的应用程序接口
    SIP协议参数详情
    SIP初步认识
  • 原文地址:https://www.cnblogs.com/goeasycloud/p/9327236.html
Copyright © 2011-2022 走看看