WebSockets和Socket.io?

时间:2018-01-02 10:36:27

标签: javascript websocket socket.io

场景:我是JavaScript的新手(具有C / C ++ / Java经验),并且使用NodeJS服务器处理React UI,其中服务器将以特定的时间间隔获取所显示数据的更新(比如5秒)。服务器应该将数据推送到React UI以快速更新显示的数据。

竞争者:我遇到了2个JS库Websockets(lib是websocket的正确术语吗?)和Socket.io来实现这一点。对我来说,他们看起来都是一样的。

我是Google吗?:是的,但由于我对JS缺乏了解,我无法理解其中的差异。

问题:这两个libs(libs?)之间的区别是什么?如何判断哪一个更适合?

1 个答案:

答案 0 :(得分:-1)

  

场景:我是JavaScript新手(具有C / C ++ / Java经验),并且使用NodeJS服务器处理React UI,其中服务器将以特定间隔(例如5秒)获取所显示数据的更新。服务器应该将数据推送到React UI以尽快更新显示的数据。

我就是这样做的。

  

竞争者:我遇到了两个JS库Websockets(lib是websocket的正确术语吗?)和Socket.io来实现这一点。对我来说,他们看起来都是一样的。

简而言之,我知道服务器和客户端之间有两种不同的通信方式:WEBSOCKET和SERVER-SENT EVENTS(SSE)。它们略有不同,所以谷歌最好选择哪种方案来找出更适合你的方式。

Socket.io本质上是一个协助创建/管理websockets的库。想象一下,当你自己用C编写系统时,它就是你的.NET Framework。

  

我是Google吗?:是的,但由于我对JS缺乏了解,我无法理解其中的差异。

以下是一些可以帮助您的链接:

<强> SSE:

  1. https://www.w3schools.com/html/html5_serversentevents.asp

  2. https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events

  3. <强>的WebSocket

    1. https://www.html5rocks.com/en/tutorials/websockets/basics/

    2. https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_client_applications

    3. <强>比较

      1. https://www.google.com.au/search?safe=off&ei=MmNLWuGkLsHQ0AS87J_4Bw&q=websocket+vs+sse&oq=websocket+vs+sse
      2.   

        问题:那么请你帮我理解两者之间的区别   这两个库(libs?)并帮我决定哪一个更合适   这里吗?

        正如我之前提到的,您在技术上只提到了一个通过其API管理websockets的包库(socket.io)。我假设另一种方法是使用本机JavaScript方法手动完成。这取决于你选择哪一个,你肯定会发现两者都有优点和缺点。