0

Java と UDP の送信者と受信者を使用するクラスのプロジェクトに取り組んでいます。問題の前提は、テキスト ファイルを読み込み、パケット内に内容を格納し、パケットを送信し、パケットを受信し、画面上でファイルを読み上げ、受信側のコンピューターで同一のテキスト ファイルの新しいテキスト ドキュメントを作成することです。 .

私はそのすべてを機能させています。ローカル ホストでテストすると、100% の確率で動作するように見えます。ラップトップから PC に送信すると、100% 正常に動作しているように見えます。ただし、PCからラップトップに送信すると機能しません。

送信した情報の一部を確認するための System.out デバッグ ステートメントがいくつかあります。テキスト ファイルに 7 パケットが必要であることはわかっています。ただし、PC からラップトップに送信するたびに、46 パケットを送信していると表示されます。

私の最初の考えは、パケットが順不同で送信されている可能性があるということです。私が送信している最初のパケットは、受信者が受信する予定のパケット数を示しています。何らかの理由で「46」は大文字の「F」を示しているのではないかと考えたので、大文字の「F」をすべて削除しても、46 パケットを送信していると表示されます。

一度に送信する情報が多すぎるのではないかと考えたので、Thread.sleep() を使用して、受信者が追いつく時間を与えましたが、これもうまくいきませんでした。

最後に、Oracle のドキュメントとオンラインの投稿を読んだところ、UDP が信頼できないことがわかりました。だから、私はそれが潜在的にそれであると仮定しています。ただし、それが問題になる可能性があることを確認したいだけです。

または、何が問題を引き起こしている可能性があるかについて誰かがより良い考えを持っているなら、それも素晴らしいでしょう!

ご協力いただきありがとうございます :)

4

1 に答える 1