1

複数の接続を処理できるサーバーに接続する小さなアプリケーションを作成しました。私のJavaプロジェクトには、次のクラスがあります。

  • Client.javaサーバーに接続するクライアント (アプリケーション 1)
  • Server.java接続を待機し、ServerThread を開始します (以下を参照) (アプリケーション 2)
  • ServerThread.java各接続には、このクラスで実行される独自のスレッドがあります
  • CustomObject.javaサーバーとの間で送受信するいくつかの異なる変数を含むオブジェクト。

私は次のように送ります。

out.writeObject(new CustomObject()); // out = objectOutputStream

そして、サーバーアプリケーションで次のように受け取ります。

co = (CustomObject) in.readObject(); // in = objectInputStream

これは、プロジェクト内で実行するとうまく機能します (最初にサーバー アプリケーションを起動し、次にクライアント アプリケーションの 2 つのインスタンスを起動します)。ただし、Server および ServerThread クラスが Client および CustomObject クラスと同じ Eclipse プロジェクトにない場合、キャストした場所に投稿した最後のコード行でエラーが発生しますin.readObject();。"ClassNotFoundException" (サーバー プロジェクトに CustomObject の正確なコピーがある場合でも)。

どうすればこれを修正できますか? サーバーを1つのプログラムとしてエクスポートして実行し、Eclipseからエクスポートするときにクライアントを1つのプログラムとして実行できるようにしたいと考えています。何か不明な点があればお知らせください。

4

2 に答える 2