0

ポート番号を受け入れ、テキスト、画像、ディレクトリなどのインターネットデータを表示する単純な Java サーバーに取り組んでいますが、コードを動作させるのに問題があります。これは私のクラスです:

public class HTTPServer {

    public static void main(String[] args) {

        ServerSocket socket = null;

        try {
            socket = new ServerSocket(5000);
        } 
        catch (Exception ex0) {
            System.out.println(ex0.getMessage());
            System.exit(1); // exit with error.
        }

この最初の部分は問題なく動作しますが、接続を受け入れようとするとプログラムが停止します。「Waiting For Client Connection」という行が画面に出力され、その後何も起こりません。

    while(true) {
        // the server waits (using an accept call) for a client to connect.
        System.out.println("Waiting For Client Connection.");
        Socket connection = null;

        try {
            connection = socket.accept();
        } 
        catch (Exception ex1) {
            System.out.println(ex1.getMessage());
            System.exit(1); // exit with error.
        }

        System.out.println("Client Connected To Server");
    }

次の行「Client Connected To Server」は画面に出力されず、例外 ex1 はトリガーされません。私はこれについて非常に混乱しています。誰か提案はありますか?

4

1 に答える 1

0

問題は、 ではなく を呼び出していることにあると思われますaccept。そのため、何も起こりません。最も基本的なサーバー ソケット アプリケーションについては、この単純な例を参照してください。SocketServerSocket

于 2012-04-28T08:27:58.517 に答える