在ws中发送大量流后,如何发信号通知流结束?

时间:2019-03-08 12:39:18

标签: node.js websocket ws

我正在尝试通过websocket从客户端向服务器发送大量数据。

我将大型流分成较小的块,然后在循环中通过ws客户端发送块

在服务器端,由于某些内存限制,它们的输入缓冲区大小有限。所以我通过ws客户端发送指定的块,

ws.send(fragments [i],{binary:true});

服务器必须等待,直到收到所有块,然后它们才能处理数据。但是服务器不知道客户端将发送多少个块以及流何时结束。

我在SO的某个地方读到ws.close()可用来表示流的结束。

但是我不想关闭websocket,因为服务器再次必须与客户端重新连接才能将处理后的数据发送回去,这会增加服务器的开销。

无论如何,我可以在不关闭套接字的情况下向ws服务器发送信号流结束信号?

0 个答案:

没有答案