在客户端,当您这样做时,
redd = b.readLine();您要求阅读整行。但是在服务器中,您没有发送整行:您只要求它写三个字符:
outk.write("abc");但是,实际上这三个字符都不发送,因为PrintWriter会临时缓冲它们。要解决此问题,请将该行更改为:
outk.println("abc");要么:
outk.write("abcn");outk.flush();更改之后,客户端成功显示:
result is abc。
它没有给出任何错误
它们都给错误…readLine调用失败时,客户端引发异常。服务器在开始
while(true)循环的下一次迭代并尝试重新创建仍在使用的套接字时会引发异常。您可能想将ServerSocket的创建移到while循环之外。



