0

私は独学で Java を学んでおり、非常に推奨されている Deitel の本を使用しています。

そこで、本「Java: How to Program」の図 27.5-8 をコピーしてみました。サーバーには.5の数字が必要で、クライアントには.7の数字が必要だと思いました。そのため、同じプロジェクトで両方を作成し、メイン クラス (図 .6 と .8) を組み合わせて、プログラムを実行するとサーバーとクライアントの両方が起動するようにしました。しかし、netBeans にコンパイルして実行するように指示すると、サーバーとクライアント用にセットアップしたウィンドウが開きますが、textFields は有効になりません (接続を受信したときに想定されているため)。それらが互いに接続していないことを伝えます。

server.java ファイルと client.java ファイルは本にあるものとまったく同じでなければならないので、両方を起動するためにメイン ファイルを混ぜ合わせたときに失敗したに違いないと思います。これが私の結合されたメインファイルです。多分私はここで何か間違ったことをしましたか?

package server_client;
import javax.swing.JFrame;

public class Main {

    public static void main(String[] args) {
        Server application = new Server(); //create server
        Client applicationClient; //declare client application

        //if no command line args
        if (args.length==0)
            applicationClient = new Client ("127.0.0.1"); //connect to localhost
        else
            applicationClient = new Client (args[0]); //use args to connect

        application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        applicationClient.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        application.runServer(); //run server application
        applicationClient.runClient(); //run client application
    }//end main
}//end class Main
4

2 に答える 2

0

解決するのが難しい場合があります。

netstatすべてのネットワーク接続を表示するというウィンドウを持つユーティリティがあります。

また、デバッガーの使用方法を学ぶことも役立ちます。

1 つの可能性は、GUI が接続をチェックする前に接続が確立されているため、接続がそこにあることを GUI が認識していないことです。

あるアプリケーションでサーバーを起動し、別のアプリケーションでクライアントを起動してみてください。

于 2013-10-31T00:25:34.000 に答える