发送一个大数据包或许多小数据包为白板应用程序

Send one big packet or many smaller packets for whiteboard app?

本文关键字:数据包 或许 小数 应用程序 白板 一个      更新时间:2023-09-26

我正在用socket.io制作一个在线白板应用程序,只是为了好玩和学习,我正试图在绘图工具的这两个选项之间做出决定:

1)等待大约20个点(或直到mouseup),并将该点数组一次性通过网络发送。对客户端的影响是,他们只能看到每20点左右更新一次的线路径。

2)每个点被绘制成一个包后立即发送。这将导致发送大约20倍的数据包,但所有客户端的响应将是立即的。

我不确定哪个选项更好。我担心,如果我做第二种选择,服务器将负担过重的所有点数据包,但理想情况下,它会更好,因为它会如此响应,看起来如此漂亮,但我不确定它是如何可行的考虑到需要来回发送的数据包的数量。

即使您发送每个单独的鼠标移动,也不一定意味着对于每个移动都有一个数据包通过线路传输。WebSocket层将缓冲数据,然后决定何时传输。

为了获得最佳的用户体验,您最好在每次收到指针事件时发送数据。