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);
         }

      }
}

谁能看到我在做什么导致该空值?就此而言,当我发送文本字符串时导致捕获异常的原因是什么。

4

1 回答 1

0

使用 System.out.println("error: "+e) 查看异常类型,该类型应提供有关究竟出了什么问题的更多详细信息 - Java 的类库异常因不包含详细说明问题的消息而臭名昭著(并且才刚刚开始获取在最近的版本中对此更好)。

此外,您捕获的 IOException 将包括使用套接字的任何错误,包括您尝试从侦听套接字读取,因此您的错误处理具有误导性和不足。

于 2012-12-05T03:23:52.273 回答