使用Socket.IO的主要方案是什么

For*_*est 19 mobile http node.js ios socket.io

只是想知道为什么我们需要从哪种应用或案例的角度来看Socket.IO.

我是了解开源项目socket.IO-objc的iOS开发人员

通常我们需要HTTP或HTTPS来与服务器通信,套接字旨在实现实时通信(应该始终保持HTTP生效)

Vai*_*tam 48

当我们需要在我们的应用程序中实时时,需要像socket.IO这样的库.让我更详细地解释一下.假设你正在开发一个多人游戏,两个或更多用户可以同时玩这个游戏.然后,在这种情况下,由于许多原因,您将不会进行HTTP或HTTPS调用,其中一个原因是它们的数据包大小很大,而另一个是这些调用非常慢.在这种情况下,我们使用像套接字这样的库来向服务器发送数据和从服务器接收数据.套接字非常快,只能发送所需的数据包.使用HTTP编程,您永远不能创建任何多人游戏或任何将实时与服务器交互的应用程序.

让我们举一个例子.假设您正在使用聊天应用程序.当用户A正在输入内容时,用户B应该知道A正在打字,(类似于facebook messenger的gtalk).如果您将在那个时间点使用HTTP呼叫"B"由于延迟而永远无法看到其他人的实际状态.所以我们可以使用的是套接字,然后用户A正在键入任何东西,然后他的设备将只发送一个数据包,它只会通知服务器他正在输入并将被传递给用户B,这个过程非常快(几乎是实时的) .并且还会减少数据传输.

  • 应该注意的是,如果没有Socket.IO,这也是可行的.现代浏览器支持Websockets.Socket.IO将使用这些,并且如果需要可以回退到FlashSockets. (4认同)