2

我们正在尝试创建一个基于 libjingle 的远程桌面应用程序。

我们得到了一个工作原型,它使用 talk/examples 下提供的 pcpmain.cc 示例将键盘鼠标事件流式传输并注入到远程 PC。问题是我们面临着明显的延迟——即使在同一个局域网内,事件也会出现在远程 PC 上的 5 到 10 秒。

延迟很可能是由于我们的 KeyMouseEvents 大小约为 30 字节,而 TCP(pseudotcp)在通过连接发送它们之前缓冲的传输窗口/缓冲区大小(64k-90kb ??)。我们能够通过用 2kb 的垃圾填充我们 30 字节的微小事件消息来完全消除延迟:)

通过流式传输键盘/鼠标事件来实现远程控制的 RT 体验,PseudoTCP 是不是一个糟糕的选择?如果是这样,我们可以为小型数据包流创建任何其他普通的 udp talk_base::StreamInterface 吗?到目前为止,我只看到过 TunnelSessionClient 和 MediaSessionClient 分别在它们的数据通道上强制使用 pseudotcp 和 rtp/rtcp。

4

0 回答 0