0

単純なチャットクライアントを使用して、別のコンピューターからメッセージを受信しようとしています。

コンソールで次のエラーが発生します。

Starting Listener.......
Could not listen on that port
error: null

これは、テキストを送信するときにコンソールに表示されます。

これが私のコードです

import java.io.*;
import java.net.*;

class TCPServer
{
   public static void main(String argv[]) throws Exception
      {

         System.out.println("Starting Listener.......");

         try{

             ServerSocket welcomeSocket = new ServerSocket(5060);

             while(true)
             {

                //
                // Read a message sent by client application
                //
            Socket clientSocket = welcomeSocket.accept();   
                ObjectInputStream ois = new ObjectInputStream(clientSocket.getInputStream());
                String message = (String) ois.readObject();
                System.out.println("Message Received: " + message);

             }


         }
         catch (IOException e) {
             System.out.println("Could not listen on that port");
             System.out.println("error: "+e.getMessage());
             System.exit(-1);
         }

      }
}

私が何をしているのか、それがnull値を引き起こしているのを誰かが見ることができますか?さらに言えば、テキスト文字列を送信するときにcatch例外が発生する原因は何ですか。

4

1 に答える 1

0

System.out.println("error: "+e) を使用して、正確に何が問題なのかについての詳細を提供する例外タイプを確認します。Java のクラス ライブラリの例外は、問題の詳細を示すメッセージを含まないことで有名です (そして、取得を開始したばかりです)。これについては最近のリリースで改善されています)。

また、IOException のキャッチには、リッスン ソケットから読み取ろうとする試みなど、ソケットを使用したエラーが含まれるため、エラー処理は誤解を招き、不十分です。

于 2012-12-05T03:23:52.273 に答える