0

MySQL データベースに接続する Java サーバーを作成する必要があるプロジェクトがあります。このサーバーは、クライアントからの要求を処理し、データベースからデータを送信します。クライアントからの要求は次のようになります。

  • ユーザーがデータベースに登録されているかどうかを確認します
  • ユーザーをデータベースに追加する
  • ユーザーのリストとオンラインのユーザーのリストを取得します (ここで HashMap を使用します)

いくつかの検索の後、NIO を使用すると結論付けたので、複数のクライアント要求を処理するスレッドが多すぎることはありません。私の問題は、List や HashMap などを送信するときにチャネルからデータを取得する方法を理解できないことです。つまり、 read(buffer) メソッドがどのように機能するかを見てきました。たとえば、バッファから HashMap オブジェクトを取得する方法や、そのためにあらゆる種類の「構造化された」データを取得する方法を理解できません。誰かが(おそらく例を挙げて)説明できれば、それは素晴らしいことです。

必要なデータを伝達する別の方法があるかもしれません。その方が理解しやすいでしょう。知らない。あなたの洞察は大歓迎です。

PS : 私の問題は、NIO が原因で取得できないことではありません。典型的な入出力ストリームでも同じ問題があります。

実際のプロジェクトはJavaサーバーを作成することであり、クライアントはAndroidデバイスになることに注意してください。しかし、私は少し初心者なので、アンドロイドに行く前に、2 つのデスクトップ、Java、アプリケーション間の通信をテストすることから始めようと思いました。サーバーのメソッドをリモートで使用できるようにするJava RMIについて何かを見たので、これについて言及しますが、Androidでは使用できないと思います。

4

1 に答える 1