哪一个最适合聊天应用程序? Web套接字或每3秒发送一次请求

时间:2018-10-04 08:17:06

标签: node.js react-native server socket.io

我正在用本机创建聊天应用程序。我为此使用socket.io,但是socket.io有时无法成功工作。我想每3秒更改一次发送到服务器端的请求。

我只是发送一个聊天ID的请求

哪个是最好的?如果我每3秒使用一次send请求,则会在服务器端发生任何问题

2 个答案:

答案 0 :(得分:1)

也许可以选择长时间轮询(不是轮询,这是不同的行为,通过长时间轮询,api调用可以保持挂起状态,直到响应可用),但是WebSocket更为可取。 响应速度更快,它在服务器端占用的资源更少,带宽更少,可以订阅多个流,等等。

您可以在此处评估一些指标:

enter image description here enter image description here enter image description here enter image description here

参考:https://blog.feathersjs.com/http-vs-websockets-a-performance-comparison-da2533f13a77

答案 1 :(得分:0)

与任何轮询HTTP请求机制相比,

socket.io具有更好的伸缩性和更好的性能。运行良好时,它的响应时间也将比3秒更快-可能看起来并不长,但实际上它可能对用户来说很明显。

如果您的聊天应用程序是针对少量用户的,则轮询机制更易于实现,并且应该可以正常工作。

如果您打算将应用程序扩展到大量用户,则将需要socket.io或类似的订阅/推送机制来连接已连接的客户端。