错误帮助 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)
这是我第一次使用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)