我在单个客户端和服务器之间有一个套接字连接。我已经在服务器端实现了登录、注销、发送和创建新用户等功能,然后向服务器和客户端输出不同的消息。
当用户使用注销功能同时服务器端仍在运行时,我需要实现连接关闭。我认为System.exit(0)
在客户端的正确位置可以做到这一点,但我在实现它时遇到的麻烦比我想象的要多。
我试图把它放在我认为我从服务器获取输出的地方,见下面的客户端,在 while 循环中有一个 if 循环寻找“注销”响应:
客户:
if(ins.readLine().contains("Logged Out"))
{
System.exit(0);
}
else
{
System.out.println(ins.readLine());
}
如果客户端服务器的 while 循环中没有 if 循环,一切都可以正常工作,但是如果有 if 循环,它需要一次命令,然后不再提示输入命令,并保持连接打开。在它不断提示用户输入命令并保持连接打开之前。
想法?