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

  • 相关阅读:
    java定时读取文件
    Java面试:投行的15个多线程和并发面试题(转)
    读取一个文件,给定一个字符串,判断这个字符串在文件中出现的次数
    随机产生10个数,并每个数给定一个序号,然后将这10个数按照从小到大的顺序输出来,并带上序号输出
    找出给定字符串中出现最多的字符和次数
    公司开发部门GIT与SVN 之争
    浅谈Hibernate中的三种数据状态
    MyBatis框架的XML数据访问Dao层接口的组合使用
    浅谈WebLogic和Tomcat
    为什么我们不要 .NET 程序员
  • 原文地址:https://www.cnblogs.com/goeasycloud/p/9327236.html
Copyright © 2011-2022 走看看