私は現在、クライアント側で複数選択フォームを作成して入力し、サーバー側で評価するだけでなく保存するためのツールを開発することにより、Java を学んでいます。ネットワーク部分には RMI チュートリアルのコード スケルトンを使用しましたが、今まで問題なく動作していました。クライアント アプリケーションとサーバー アプリケーションは同じパッケージに含まれていますが、別のアプリケーションとして実行されます。開発を容易にするために、現在は両方とも同じシステムで実行されていますが、これは作業が完了すると変更されます。
それでは、いくつかのコードと正確に何がうまくいかないのかを追跡しましょう。
サーバー.java
Server() throws RemoteException {
super();
}
public static void main(String[] args) {
try {
LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
}
catch (RemoteException ex) {
System.out.println("SERVER: " + ex.getMessage());
}
try {
Naming.rebind("Server", new Server()); <---
}
catch(MalformedURLException ex) {
System.out.println("SERVER: " + ex.getMessage());
}
catch(RemoteException ex) {
System.out.println("SERVER: " + ex.getMessage());
}
}
[...] methods that are called by the client via ServerInterface
<--- クライアント GUI が開始される場所のマーク。
クライアント.java
private static Gui_loadSets gui_loadSets = new Gui_loadSets();
public static void main(String[] args) {
loadGuiLoadSets();
}
これは、最初の GUI が表示される場所です。ロードするフォームを選択するもの。この GUI は、サーバーを起動することによってロードされます。したがって、サーバーは実際にはクライアントアプリをロードしませんが、代わりにどういうわけか魔法のように GUI にアクセスし、理由もなく表示します。
GUI がロードされる前に行に「ステップイン」しようとしましたが、最終的には無限ループに陥ってしまうため、何が起こっているのかまったくわかりません。
これはここでの私の最初の質問です。明らかなことを見逃していたら、ご容赦ください。事前にご協力いただきありがとうございます。さらにコードが必要な場合は、喜んで提供しますが、残りのコードのほとんどは、複数選択フォームに関するものです。