不是的,你得仔细了解一下socket的读写数据机制。
关闭writer和关闭socket的时候,**发现buffer有数据没有写出,会写一遍**,但不是必须关闭流和关闭socket**才会写数据**。
一般是通过输出流的 write()和flush()方法,完成写操作。
想要多次的输出数据,首要条件就是socket不被close和outputStream没有close...
顺便给你贴点代码public class TestSocket {
public static void main(String[] args) throws IOException {
int port = 10086;
ServerSocket server = new ServerSocket(port);
System.out.println("等待与客户端建立连接...");
while (true) {
Socket socket = server.accept();
new Thread(new Task(socket)).start();
}
// server.close();
}
/**
* 处理Socket请求的线程类
*/
static class Task implements Runnable {
private Socket socket;
/**
* 构造函数
*/
public Task(Socket socket) {
this.socket = socket