問題タブ [udp-data-transfer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - UDT サーバーのバッファサイズ?
これが UTD メッセージを受信するための私のプログラムです。Wi-Fi経由で640 * 480のYUV画像を受信するために使用する予定です。どのくらいのバッファを設定すればよいですか? 実際のサイズを調べるために最初の画像を受け取った後にバッファを設定することは可能ですか?
以下は私のコード全体ですが、基本的に私の質問はこの行に関連しています:
そして、最初の画像を取得した後に設定できるかどうか。
c++ - for ループ内の UDT::send は 1 回だけ送信します。エラーなし
これは、forループにあるため、私には不合理に思えるデータを1回だけ送信します。
データを10回送信するべきではありませんか?わかりません。プログラム全体は次のとおりです (かなり短いです)。
c++ - boost::asio の UDT バックエンドがあるかどうか
boost::asio の UDT プロトコル バックエンドが存在するかどうか教えてください。
UDT は、広域高速ネットワークを介した分散データ集約型アプリケーション向けの、信頼性の高い UDP ベースのアプリケーション レベル データ転送プロトコルです。( http://udt.sourceforge.net/index.html )
python - UDT C++ ライブラリの Python ラッパー
PythonでUDTライブラリを使いたいのでラッパーが必要です。私はこれを見つけました: pyudtですが、これを使用してピアツーピアでファイルを送信する方法が正確にはわかりません。誰かが私を正しい方向に向けることができますか?
c++ - 実行時にリンクするライブラリの選択
別のプロトコル (UDT) をサポートするようにiperfを変更しようとしています。UDT API は、標準の BSD 呼び出しを反映するように記述されています。
次に、UDT ライブラリと条件付きでリンクして、iperf のこれらの呼び出しが TCP スタックへのソケット インターフェイスの代わりに UDT コードを使用するようにする必要があります。これはできますか?私はいつでもライブラリをロードし、UDT:: 名前空間を使用して別の条件付きパスを持つことができますが、1) TCP パスからの重複が多く、2) 変更が必要ない場所で多くの変更が行われる可能性があります。明確でない場合はお知らせください。この動的リンクを実現する方法についての提案をお待ちしております。
編集:
以下で説明する dlopen() ファミリを使用すると、次のプログラム フローを作成できます。
cmd line params を解析 -> UDT が要求された場合、ライブラリ libudt をロード -> すべての UDT BSD 関数 (bind、listen など) のハンドルを取得して保存
この時点で、すべての UDT 関数と共に関数ポインターが格納されています。それらすべてを udt_calls という構造体に格納しているとしましょう。今、次のような呼び出しを行う既存のコードに問題があります。
それよりも:
udt_calls 構造体にロードされた関数ポインターを使用して、プログラム全体で BSD 呼び出しをグローバルにオーバーライドできるクリーンな方法はありますか?
udp - UDT の輻輳制御の調整
LAN 経由でセンサー データを提供する Linux を実行している組み込みデバイスがありますが、WAN は提供しません。場合によっては、 http://en.wikipedia.org/wiki/Long_fat_networkの一端に存在することがあります。
私が継承したアーキテクチャは TCP を使用していますが、UDP を介したリアルタイム ビデオに相当するものを追加したいと考えています。ドロップされたパケットや順序は気にしません。ドロップしたときはクライアント側で知りたいだけで、送信が速すぎる場合はサーバー側で知りたいだけです。再放送は絶対にしたくない。
他に見るべき場所はありますか?私の最初のベンチマークでは、UDT は現在遅すぎます。シーケンス番号を持つ単純な UDP クライアント/サーバーは、この組み込みシステムで最大 80 Mbit/s を維持できますが、調整されていない UDT は約 30 Mbit/s で実行されます。その SOCK_DGRAM インターフェイスを使用すると、UDT は、通常 16 Mbit/s で実行されるポイントまで積極的にフォールバックするように見えます。この種のアプリケーション用に UDT の CCC の調整に成功した人はいますか? 私が見た最高のスループットは、UDT のサンプル アプリケーションで 35 Mbit/s です。
RTPにスキップする必要がありますか? http://en.wikipedia.org/wiki/Real-time_Transport_Protocol
events - epoll/libevent/libev は UDT で動作しますか?
何万ものアクティブなソケットを処理する必要がある高同時実行サーバーを構築しています。最初に epoll を使用してイベントベースのサーバーを構築しましたが、適度な規模 (数千のアクティブなソケット) でうまく機能しました。しかし、同時実行数が 10,000 ソケットを超えると不安定になるようです。libevent(または libev) は成熟したプロジェクトであり、「何万ものアクティブなソケットを処理できる」と主張しているため、私は libevent(または libev) について検討しています。
「信頼できるUDP」であり、オーバーヘッドとメモリ使用量のためにTCPに問題が発生し始めているため、UDTの使用も考えています。したがって、イベント フレームワークとして libevent を使用し、送信プロトコルとして UDT を使用するのが自然な考えです。UDT が独自の一連の epoll 操作を提供していることは知っています。通常の Linux epoll では動作しないということですか? その場合、libevent や libev は Linux epoll に基づいて構築されているため、動作しません。
UDT と epoll/libevent/libev の両方で作業した人はいますか? UDT はそれらのいずれとも連携できますか?
どんな助けでも大歓迎です。ありがとう。
arrays - ウィンドウの VB.NET コレクション
ウィンドウのコレクション (ユーザーのセッションで現在開いているウィンドウのみ) にアクセスしたいと思います。私は EnumerateWindows を使用しますが、たとえばプロセスに対して .NET が行うように、それらを利用可能にする方法がわかりません。
私はそれらにアクセスできるようにしたいと思います
それを行うにはクラスが必要だと思いますが、実際に誰がこれを行っているのかわかりません。
どうもありがとうございました。
boost - recv 中の UDT 接続の切断
私のコードは Windows では正常に動作しますが、Mac でコンパイルして実行すると、recv 中に接続が切断されます。
UDT RENDEZVOUSモードを使用して接続していますが、これは完全に機能します
私はUDTソケットでBoostソケットをバインドしています。
ここで接続が切断され、エラーは、ソケットが閉じられ、存在しません
受信中にのみ接続が切断されるのはなぜですか? 何が接続に影響を与える可能性がありますか?