客户端从文本读数据传输给服务器读进文本,服务器把数据读进文本后反馈信息给客户端,客户端接收反馈。有一个问题是我们看代码知道当服务器把数据写入文本时文件被成功复制,但服务器本身不知道,它写完数据后还会继续等待客户端发送数据,因此也就没有给客户端反馈,客户端也就只能继续等待反馈,此时程序就会卡住。所以我们要自己设置一个信号给服务器表示文件写入完成,此处是客户端循环完文件数据后再传输了一个“886”,当服务器读到“886”的时候就会跳出循环,给客户端发送反馈,客户端也能接收到反馈了。
关闭套接字输出流最简单的办法是用Socket类的shutdownOutput()方法,同样可以使服务器知道不用再等待数据。