使用WebSockets单独或作为数组发送元素之间的区别?

时间:2015-11-04 17:32:09

标签: node.js http websocket socket.io

假设我们有一个REST端点api.example.com/entities,它返回与ids数组匹配的实体列表。要获取具有ids“1”,“2”或“3”的实体,您可以调用

api.example.com/entities?ids=1,2,3

api.example.com/entities?ids=1
api.example.com/entities?ids=2
api.example.com/entities?ids=3

显然我们正在使用以前的选项,因为它减少了开销和TCP握手。

但是WebSockets怎么样?开销几乎不存在,并且在单独发送实体时实际上可以减少有效负载。

我问的原因是我想在我的NodeJS应用程序中流式传输数据并立即向客户端发送更新,而不是等待流完成。

我不想做的事情:

request('https://api.example.com/entities?ids=1,2,3')
.then((entities) => socket.emit('entities', entities));

我想做什么:

request('https://api.example.com/entities?ids=1,2,3')
.pipe(JSONStream.parse('entities.*'))
.on('data', (entity) => socket.emit('entity', entity));

换句话说:我想尽快发送实体。

使用WebSockets单独发送元素或作为数组发送元素有什么区别?

0 个答案:

没有答案