複数の接続を処理できるサーバーに接続する小さなアプリケーションを作成しました。私の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つのプログラムとして実行できるようにしたいと考えています。何か不明な点があればお知らせください。