socket并无关闭,为何第二次write() 之后 无读到数据的?
import java.io.*;
import java.net.Socket;
public class MianTest {
public static void main(String args0[]) throws Exception {
Socket socket = new Socket("localhost", 80);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String header1 = "GET /hello.txt HTTP/1.1\r\nHost: localhost\n\r\n";
String header2 = "GET /hi.txt HTTP/1.1\r\nHost: localhost\r\n\r\n";
out.write(header1);
out.flush();
int i = 0;
while ((i = in.read()) != -1) {
System.out.print((char) i);
}
out.write(header2);
out.flush();
int c = 0;
while ((c = in.read()) != -1) {
System.out.print((char) c);
}
socket.close();
}
}
[b]问题补充:[/b]
to liuyu220
我是用socket 向tomcat通讯
服务端完成一次请求完后就关闭了inputstream,output数据回来 这很正常,
而第2次write(),其实有无去到服务端呢?还是服务端认为inputstream关闭了
之后来的数据不需要再读?
有无方法,不 new一个socket ,而发出第2次通讯