我目前正在建立一个聊天只是为了好玩。我以前从未这样做过,而且我一般都尝试过EventSource API (Server-Sent Events)
in JavaScript
。大约 3 天前我才听说它,我觉得它很有趣,而且比设置WebSocket
.
我知道长轮询会占用大量资源。但是,由于我从未听说过 EventSource,它对服务器有何影响?它是否使用相同数量的资源?
我注意到在 中Networks Tab
,Google Chrome Developers Tool
EventSource 确实创建了一个内容大小很大的请求(随着时间的推移)。有 1 个内容大小较大的请求会更好吗?
我的聊天目前正在运行两个 EventSource。一个用于聊天本身(运行 every 2500ms
)和用于聊天的“正在输入..”机制(运行 every 250ms
)。
在聊天大约一分钟后,两个请求的合并内容大小约为150kb
. 不过,这将增加更多的消息。
我担心我的主人会暂停我的帐户。这就是我的一个使用轮询或长轮询的朋友发生的事情(我忘了)。我不确定 EventSource 使用的资源是否与轮询或长轮询一样多。
主要问题:EventSource 如何影响服务器?
- 它如何使用资源?
- 除了使用网络套接字之外还有什么更好的方法吗?
- 有 1 个请求会创建大量内容还是有多个请求携带少量数据更好?