問題タブ [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.
c# - UDP アルゴリズムの統合テスト
UDP パケットをリモートのソフトウェアに正常に送信することを実証する統合テストを作成する必要があります。リモート ソフトウェアはテスト環境 (レガシーですがサポートされているバージョン) では使用できず、私の管理下にないため、少なくともコマンドが期待どおりに実行されることを証明するテストをセットアップすると考えました。この質問の回答を読んだ後、次のようにコードを設定しました。
ただし、これは上記のコメントのようには機能しません。ここで私が見逃しているものを見た人はいますか?
c# - ソケット アプリケーションの C# メモリ使用量を削減する方法
Windows で単純な UDP メッセージ サーバーとクライアント アプリケーションを開発しました。サーバーはクライアントにメッセージを送信できますが、クライアントは何も送信できず、リッスンするだけです。問題は、クライアント アプリケーションが非常に大量のメモリを使用していることです。リッスンしているときは約 7M、パケットを受信したときは 9M です。メモリ使用量を少なくとも 1M 未満に減らすことはできますか?
java - UDP クライアント/サーバー ....重複をフィルタリングするための 16 ビットのメッセージ シーケンス番号を含める
私の割り当てには、UDPサービスを使用して画像ファイルを送信することが含まれます(Javaを使用して、それを正常に実装しました)。私の教授は、以下を含めるように求めました:
「交換されたデータ メッセージには、送信側が受信側での重複フィルタリング用の 16 ビット メッセージ シーケンス番号を含めるためのヘッダー部分も必要です」
これを行う方法?
networking - UDPは失われたデータを再送信できますか?
プロトコルがこれをサポートしていないことは知っていますが、ある程度の信頼性を必要とするクライアントが、破損していることが判明した場合にパケットの再送信を要求する方法をアプリケーションに組み込むことは一般的ですか?
networking - インターネット経由でUDPパケットを送信する
私はP2P/分散型ネットワークの詳細を学ぼうとしています。私の質問は次のとおりです。comp1とcomp2という名前の2台のマシンがあるとします。これで、comp1はルーターの後ろのホームネットワークにセットアップされ、comp2は私のオフィスのルーターの後ろにもあります。もちろん、ポートが適切に転送されていると仮定して、このようにインターネットを介してUDPパケットを送受信することは可能ですか?私が調査していることについてより多くの洞察を提供するために、中央サーバーを使用せずに新しいノードが既存のノードを検出する方法を理解しようとしています。
ありがとうございました!
php - PHPによるUDPソケットプログラミング
UDPソケットポート100でリクエストをリッスンし、そのレスポンスをUDPソケットポート200に置くJavaのサーバーがあります。
ここで、ポート 100 に要求を送信し、200 で応答を受信するクライアントを PHP で作成する必要があります。
私のプログラムは、ポート 100 でサーバーにリクエストを送信でき、サーバーもポート 200 でレスポンスを送信しています。しかし、私の PHP プログラムはレスポンスを受信していません。待機状態に入ります。
興味深いのは、リクエストが送信されたのと同じポートにレスポンスを送信すると、PHP コードが受信できることです。ただし、サーバーの設計では 2 つのポートを使用します。1 つの着信と 1 つの発信。
ここに私のPHPコードがあります
私のJavaサーバーコードは
これが私のJavaサーバーの出力です
c# - C# への UDP 経由の IPFIX データ - データをデコードできますか?
ファイアウォールから IPFIX/Netflow データを受信し、受信したデータを操作しようとしているときに、UDP リスナー/クライアントを作成するための MSDN Web サイトのコード サンプルがあります。コードは機能し、データの受信を開始しますが、その専門用語 (以下を参照) が正しくデコードされていないと思います。
データを正しい形式で取得できるようにするために何をする必要があるか、誰かが考えていますか?
私が使用しているコードは次のとおりです。
そして、私が返すデータは次のとおりです。
?M?▼? '$▬+? ☺☺ ?M?▼???k` &??_?07????Q??E?U?j ♥ ☻<br> ♠ P ♣ x ♣ ► ♥ → ♦ ☼?M?▼?M ?▼? 1♠►?
? ☺</p>
前もって感謝します、
ジェームズ
c - C の UDP サーバーと 2 つの UDP クライアント
Beej のガイドを読み、UDP サーバーとクライアントを作成しました。最初にサーバーを実行し、次に 2 つのクライアントを実行します。サーバーはrecevfrom
、クライアントとsendto
他のクライアントに想定されています。クライアント 1 が何かを送信すると、クライアント 0 がそれを受信します。クライアント 0 が何かを送信すると、クライアント 1 はそれを受信しません。コードの何が問題なのか誰にもわかりますか? UDP、C、サーバー、チャットに関するすべての質問を読みましたが、役立つものは何も見つかりませんでした。このコードを OSX でコンパイルしています。どんな助けでも大歓迎です。サーバーコードは次のとおりです。
そしてクライアント:
ありがとうございました。
c# - ノンブロッキングUDPソケット.NET「ノンブロッキングソケット操作をすぐに完了できませんでした」例外
LinuxとWindowsマシン間の通信を提供するために使用される小さなUDPクライアントサーバークラスをC#で作成しました。
WindowsのC#でのUDPクライアントとサーバーの実装は、私がLinux用に最初に作成したC++コードから直接書き直したものです。
Linuxマシン間の実行時に問題はありませんが、LinuxとWindowsのリンク間で時折発生する断続的な問題があります。
アプリケーションが原因で、UDPソケットの高速でノンブロッキングの操作が必要です。
1つのクライアントがLinuxであるため、C#でのコードは、マーシャリングの魔法を使用する必要がありました。
コードは次のとおりです。
UDPで接続を使用して、通話の送受信を簡素化します。
ソケットから読み取ろうとすると問題が発生します。
その他のコード:
両方のマシンでWiresharkを実行していますが、Linuxマシンから送信されたデータグラムが無傷でWindowsマシンに到着していることがわかります。ただし、UDPクライアントのReceive呼び出しは、「非ブロッキングソケット操作をすぐに完了できませんでした」という例外をスローします。これは、私が理解していることから、WSAEWOULDBLOCKエラーです。ただし、ブロックオプションを明示的にfalseに設定しました。
イベントのシーケンスは次のとおりです。
Windowsマシンは、ポート2でデータグラムを送信し、ポート1で確認応答をリッスンします。タイムアウトを実装するwhileループがあります。
コード:
問題を理解し、問題が発生する理由と、アイデアを楽しんでいるときにどうすれば修正できるかを理解できるようにしたいと思います。
ありがとうございました
c# - Win7 Pro vs Ultimate からのマルチキャスト パケットの送信
1 つは Windows 7 Ultimate (ラップトップ) を実行し、もう 1 つは Windows 7 Professional (デスクトップ) を実行しています。ラップトップで完全に機能し、マルチキャスト経由で udp パケットを送信するデスクトップのコードをチェックアウトしました (以下)。Win7 Ultimate コンピューター、win2k3 サーバー、およびテスト可能な Windows XP マシンで正常に動作します。それはオンですが、私のwin7 Proボックスでは、次のSocketExceptionが発生します
Windows 7 Pro では、マルチキャスト パケットを送信できませんか? それとも、何かが足りないのですか?
更新:すべてのファイアウォールを無効にしたことを忘れていました。ドライバーはインテルが提供するドライバーであり、デバイスの詳細プロパティを調べて、受信バッファーと送信バッファーの両方が 2048 に設定されていることを確認し、上記を試しました。 2 ~ 256 バイトのペイロードを持つテスト コードで、すべて同じエラーが発生します。