問題タブ [udpclient]

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.

0 投票する
1 に答える
277 参照

c# - c#で受信したudpデータ(不良データを含む)の量を知るにはどうすればよいですか?

破損/不良データ、パケットヘッダーなど、updclientに到着したデータの量を知りたい。udpを使用してスループットを計算したい。

ありがとう。

0 投票する
3 に答える
3383 参照

c# - C# での UDPclient レート制御

リモート PC に複数の UDP パケットを連続して送信しています。問題は、データ量が多すぎる場合、チャネル間のどこかのデバイスでバッファ オーバーフローが発生することです。UDP パケットの送信レートを制限/調整/制御するつもりです。誰かが最適なレート送信間隔を見つける方法についてのガイドを教えてもらえますか?

ところで、udp よりも tcp を推奨するのはやめてください。目的はデータを確実に送信することではなく、最大スループットを測定することです。

0 投票する
4 に答える
67454 参照

c# - C#で0のペイロードデータを送信した場合のudpパケットのサイズはどれくらいですか?

udpを使用した2つのエンドポイント間のフラグメンテーションが1472になる前の最大データを把握しました(他のエンドポイントは異なる場合があります)。これは、mtuが1500バイトで、パケットあたりのヘッダーオーバーヘッドが28バイトであることを示しています。0バイトのデータ(ペイロード)を送信した場合、実際に転送されるデータは28バイトであると想定しても安全ですか?私はいくつかのベンチマークを行っているので、チャネルで何が起こっているかを知ることが重要です。

0 投票する
1 に答える
814 参照

c# - C# udpclient.send の偽の IP への送信が遅すぎて完了できない

偽の/不明なIPにudpclient.sendを送信すると、プロセスが完了するまでに長い時間がかかりました(呼び出しごとに約2秒。1000回の呼び出しでは約2000秒かかりました)。既知の IP に udpclient.send を送信すると、1000 パケットの送信に 2 秒もかかりませんでした。

私は開発にsendを使用していましたが、このようなことで開発プロセスに時間がかかりました。この減速を防ぐ方法はありますか?fyi、私はIPアドレスを入力しました(DNS解決を防ぐためのホスト名ではありません)、udpclient.connectを使用しようとしましたが、問題は解決しません。

ありがとう。

0 投票する
1 に答える
2041 参照

c# - C#のUDPClient

私はc#のUDPClientで使用しています。receive関数を呼び出しますが、アプリを実行しているとき。プログラムは永遠のループに入ります。なぜこの現象なのですか?このポートで利用できるデータがなかったためか?私に何ができる?

私は次のコードを書きます:

ありがとう

0 投票する
3 に答える
1958 参照

c# - 送信と受信の間で待機するためのより良い方法が必要です、UDPclient

これが私の問題です:

ゲームサーバーとの間でデータを送受信できるudpクラスがあります。

しかし、サーバーはクライアントごとに500ミリ秒ごとに1つのリクエストしか許可しないことがわかりました。したがって、2つの要求を続けて送信すると、サーバーは最初の要求にのみ応答し、2番目の応答が得られないことを知る方法がありません。

そこで、送信部分を保護するためにミューテックスを作成しました。データを送信するときは、スレッドを使用してミューテックス500msをブロックします。

このクラスはスレッドによって使用されるため、mutexを使用します。

しかし、これは実際にはうまく機能せず、受信がスタックすることがあります。

誰かがこれを行うためのより良い方法を持っているかどうかを知りたいだけです。

私の英語をありがとう、そしてごめんなさい。

編集:私はtcpプロトコルを使用できません、私はudpでこれを行う必要があります。また、最適な方法が必要です。受信データをできるだけ早くビューフォームに取得する必要があります。udpとスレッドで見つけたネット上のすべてのトピックを監視していますが、この特定のケースは見つかりません。

0 投票する
3 に答える
7089 参照

c# - UdpClient-バッファサイズが制限されていますか?

C#のUdpClientで問題が発生しています。2つのクライアント間でインターネット経由でオーディオをストリーミングしています。

私のマイクでは、16kHzのサンプルレートで、パケットあたり6400バイトの音声付きのUDPパケットを送信します。録音を閉じてから通常1200〜3400程度の最後のパケットを除いて、これらは決して通過しません。サンプルレートを8kHzに下げると、3200バイトのペイロードでパケットを送信します。これらは常に何らかの理由で通り抜けます。

それで、基本的に3200を超えるものはすべて失敗します(正確な数はテストされていませんが...)なぜこれが地球上にあるのでしょうか?おそらくUdpClientの内部バッファが小さすぎるか何かだと思っていましたか?オーディオパケットをストリーミングするので、頻繁に送信されます。

受け取る:

明らかな欠点は見つかりません。(関数のasynオブジェクトはnullですが、stateobjectを使用する必要はありませんが、これに関連する必要はありません)

UDPは信頼できないことは知っていますが、3200サイズのパケットがすべて通過し、6400サイズが私には不快な臭いがしないことを考えると、特に最大サイズは64kbですか?

何か案は?

0 投票する
1 に答える
1477 参照

c# - UDPホールパンチング:単一マシンでのテスト容易性

大規模なプロジェクトでUDPホールパンチングを使用する可能性をテストするための単純なP2Pアプリケーションを作成しています。

昨日自宅でテストアプリを試してみましたが、うまくいきました。

しかし、私は現在仕事をしていて、同じコードはもはや仕事をしていません。送信者はここ​​でルーターの外部IPアドレスの適切なポートに送信していますが、受信者はそれらを取得していません。

を呼び出す前にUdpClient.Receive()、受信側のアプリは、リッスンするIP:ポートにパケットを送信します。繰り返しますが、これは私の家のセットアップでは機能しますが、ここでは機能しません。結果は、Windowsファイアウォールがオンかオフかに関係なく同じであるため、問題ではありません。

ルーターが状況を異なる方法で処理している可能性がありますか?

編集1:両方のアプリが同じマシンで実行されます。

0 投票する
2 に答える
5876 参照

c - 不正なファイル記述子 - シンプルな UDP クライアント

単純な UDP クライアントを作成しようとすると、私のコードは正常にソケットを開き、コマンド ライン引数でホスト アドレスとポート番号によって指定されたサーバーに送信されるファイルから小さなバッファーを読み取ります。

ただし、 sendto と recvfrom の両方が「Bad File Descriptor」で失敗し、その理由がわかりません。

0 投票する
1 に答える
499 参照

c# - UdpClient Receive が 2 回目のブロードキャストまで返されない

これは本当に変だと思います。UdpClient を使用してブロードキャスト msg を同期受信しようとしましたが、ブロードキャストは完了していますが返されません。その後の放送でのみ、メッセージを受け取りました。フレームワークのどこかにバグがあると思いますか?

.....

ありがとう、ケニー