mog*_*gli 8 java io flush printwriter
我的客户端是一个Web浏览器,并使用此url向myserver发送请求:
http://localhost
这是服务器端代码.问题在于ServingThread类的run方法.
class ServingThread implements Runnable{
private Socket socket ;
public ServingThread(Socket socket){
this.socket = socket ;
System.out.println("Receives a new browser request from "
+ socket + "\n\n");
}
public void run() {
PrintWriter out = null ;
try {
String str = "" ;
out = new PrintWriter( socket.getOutputStream() ) ;
out.write("This a web-page.") ;
// :-(
out.flush() ;
// :-(
socket.close() ;
System.out.println("Request successfully fulfilled.") ;
} catch (IOException io) {
System.out.println(io.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)
我是否正在使用
out = new PrintWriter( socket.getOutputStream(), true ) ;
Run Code Online (Sandbox Code Playgroud)
要么
out = new PrintWriter( socket.getOutputStream() ) ;
Run Code Online (Sandbox Code Playgroud)
输出没有进入浏览器.仅当我使用流手动刷新时,输出才会进入浏览器
out.flush() ;
Run Code Online (Sandbox Code Playgroud)
我的问题: new PrintWriter( socket.getOutputStream(), true )应该自动刷新输出缓冲区,但它没有这样做.为什么?
| 归档时间: |
|
| 查看次数: |
14586 次 |
| 最近记录: |