我试图在run()方法中调用其他方法。但只有当我退出/终止客户端连接时,方法才会显示输出。 例如:当客户端发出listall命令时,应该打印listall方法。但只有在客户端终止连接时才会调用它。
任何人都可以告诉我这里我做错了什么
public void run(){
try {
System.out.println("Client socket : "+ clientSocket);
clientPortNumber=clientSocket.getPort();
clients.add(clientSocket);
String line;
while(true) {
line=is.readLine();
//System.out.println(line);
if(line==null)
break;
String temp[]=line.split(" ");
if(temp[0].equals("ADD")) {
addRfc();//add method invocation
}
else if(temp[0].equals("LOOKUP"))
send(os);//send method invocation
else if(temp[0].equals("ListAll")) {
listAll(); /*listall method should print when cient gives listall command. But it gets invoked only when client terminates the connection*/
} else if(line.equalsIgnoreCase("quit")) {
break;
}
}
}
catch (IOException e) {
System.out.println(e);
}
}
答案 0 :(得分:1)
检查客户端的实现。听起来客户端是缓冲的,您需要在服务器收到请求之前刷新请求。