GStreamer を使用してライブ ストリーミング用のクライアントおよびサーバー アプリケーションを作成しました。宛先に到達または失敗したネットワーク パケットのステータスを確認するにはどうすればよいですか?
質問する
282 次
2 に答える
0
通常、パッケージが目的地に到着したかどうかを知ることはできません。
たとえば、UDP を ( udpsrc
&のようにudpsink
)使用する場合、設計上、パッケージが宛先に到達したかどうかを知る方法はありません。
TCP/IP を使用する場合 ( tcpclientsink
&のようにtcpserversrc
)、プロトコル スタックは、接続が切断されない限り、各パッケージの配信を保証します。その場合、あなたの側は EOS の通知を受け取ります。
于 2012-10-22T09:09:56.523 に答える
0
tcp の場合でもフィードバックはリアルタイムではありません。つまり、サーバーでの送信 API の成功は、その時点でパケットがクライアントに到達したことを意味するわけではありません。これらの輻輳ウィンドウの 1 つにまだスタックしている可能性がありますが、最終的には client に到達します!
この影響は、不良ネットワーク接続を介して TCP ストリームで RTSP/RTP に接続している場合に非常に明白に見られます。
ここでは、信頼できる UDP などの概念が役立ちます。
于 2012-10-22T12:24:14.267 に答える