【发布时间】:2015-05-08 07:43:47
【问题描述】:
这是我第一次使用 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 的值尽早打破循环,但事实并非如此。我不知道为什么。我检查了线程,似乎没有什么是相同的。如果重要,来自客户端的信息来自文件。
【问题讨论】:
-
对变量使用 java 约定以使代码可读。 message, sock 应该是小写的
-
谢谢大家。实际上,我很惊讶解决方案如此简单,而且与我认为的完全无关。
-
如果您不确定客户端是否以小写形式发送所有命令,您应该改用
while(!Message.equalsIgnoreCase("exit"))。
标签: java sockets socketexception