错误帮助 java.net.SocketException:连接重置

Error Help java.net.SocketException: Connection reset

这是我第一次使用Socket客户端服务器系统。我 运行 我的系统服务器端出现错误,我不知道它来自哪里。 我的客户端 运行 正常并正在关闭,但我的服务器这是

的功能
   public void run() throws Exception
{
      ServerSocket SRVSCK = new ServerSocket(444);
      Socket Sock = SRVSCK.accept();
      String Message="";
      InputStreamReader IR = new InputStreamReader(Sock.getInputStream());
      BufferedReader BR = new BufferedReader(IR);
      Message = BR.readLine();
      while(Message!="exit"){
      System.out.println(Message);
      Message = BR.readLine();
      }
      SRVSCK.close();
      Sock.close();
     System.out.println("here");
   }

但这就是我遇到的错误。它不会退出 while 循环。我曾尝试根据 Message 的值尽早打破循环,但事实并非如此。我不知道为什么。我检查了线程,似乎没有什么是相同的。如果重要的话,来自客户端的信息来自文件。

Message!="exit" 不应该用于字符串比较。要比较 java 中的字符串,使用 equals 方法。使用

!Message.equals("exit")

首先,您可能应该坚持 Java 变量名以小写字母开头的命名约定。接下来,比较字符串时,不要使用 :

string1 == string2
string1 != string2

这些都行不通。相反,使用

string1.equals(string2)