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

  • 相关阅读:
    LInux 安全测试 2
    LInux 安全测试
    又一款linux提权辅助工具
    shell 生成指定范围随机数与随机字符串 .
    腾讯新浪通过IP地址获取当前地理位置(省份)的接口
    建站指南:百度认为什么样的网站更有抓取和收录价值2012-06-20
    ngx_lua 金山项目 黄雀
    在页面中使用js
    多线程取读文件(别人的,有点晕,先放在这里有时间研究研究)
    factory工厂模式
  • 原文地址:https://www.cnblogs.com/goeasycloud/p/9327236.html
Copyright © 2011-2022 走看看