WebSocket 与 Socket、TCP、HTTP 的关系和异同点 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jonychen1
V2EX    2018

WebSocket 与 Socket、TCP、HTTP 的关系和异同点

  •  
  •   jonychen1 2018-07-18 09:21:25 +08:00 2068 次点击
    这是一个创建于 2647 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天来讲一下与其他协议的区别和相同点,让各位同学能够更加深入的去了解和运用各种协议。 1 什么是 WebSocket ? WebSocket 从满足基于 Web 的日益增长的实时通信需求应运而生,解决了客户端发起多个 Http 请求到服务器资源浏览器必须要在经过长时间的轮询问题,实现里多路复用,是全双工、双向、单套接字连接,在 WbSocket 协议下服务器和客户端可以同时发送信息。

    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 Socket 和 TCP/IP Socket 是对 TCP/IP 协议的封装,像创建 Socket 连接时,可以指定使用的传输层协议,Socket 可以支持不同的传输层协议(TCP 或 UDP),当使用 TCP 协议进行连接时,该 Socket 连接就是一个 TCP 连接。 说了这么多,希望对大家来理解 WebSocket 与 Socket、TCP、HTTP 的关系有所帮助,如果大家在工作当中需要用到 WebSocket 而不能解决问题的时候,建议大家可以使用一下一些三方的 WebSocket,融云、极光、GoEasy 等,我这里就给大家推一个简单免费的三方 WebSocket,GoEasy。很成熟的一款产品,推荐原因是代码简单,运行稳定。网站是 www.goeasy.io ,大家可以自己去看一下。下篇文章我会用代码来举例说明这篇文章没有具体说的地方。

    2 条回复    2018-07-25 11:45:54 +08:00
    mingyun
        1
    mingyun  
       2018-07-21 10:16:06 +08:00
    注册个账号有邮箱还要手机?
    jonychen1
        2
    jonychen1  
    OP
       2018-07-25 11:45:54 +08:00
    @mingyun 我自己注册时候也要了。现在不大清楚
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5178 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 09:16 PVG 17:16 LAX 02:16 JFK 05:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86