2

libjingle に基づいてリモート デスクトップ アプリケーションを作成しようとしています。

talk/examples で提供されている pcpmain.cc の例を使用して、リモート PC にキーボード マウス イベントをストリーミングして挿入する実用的なプロトタイプを取得しました。問題は、同じ LAN 内であっても、リモート PC にイベントが表示されるまでに 5 ~ 10 秒という大きな遅延が発生していることです。

遅延は、接続を介して送信する前に TCP (pseudotcp) がバッファリングするトランスポート ウィンドウ/バッファ サイズ (64k-90kb ??) と比較して、KeyMouseEvents のサイズが約 30 バイトであることが原因である可能性が非常に高いです。30 バイトの小さなイベント メッセージを 2kb の大量のジャンクでパディングすることで、ラグを完全になくすことができました:)

PseudoTCP は、ストリーミング キーボード/マウス イベントを介してリモート コントロールの RT エクスペリエンスを実現するのに悪い選択ですか? もしそうなら、小さいサイズのパケット ストリーミング用に作成できるプレーンな udp talk_base::StreamInterface は他にありますか? これまでのところ、データ チャネル上でそれぞれ pseudotcp と rtp/rtcp を強制する TunnelSessionClient と MediaSessionClient だけを見てきました。

4

0 に答える 0