socket.getOutputStream()输出的问题

import java.io.BufferedWriter;

import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.Socket;

public class ChatSocket extends Thread {
Socket socket;
public ChatSocket(Socket s){
this.socket=s;
}
public void run() {
int count = 0;
while(true){
count++;
try {
socket.getOutputStream().write(("loop"+count).getBytes());
Thread.sleep(500);
} catch (IOException e) {
e.printStackTrace();
}catch (InterruptedException e) {
e.printStackTrace();
}
}
// -----分割线-----
// try {
// BufferedWriter bw =
// new BufferedWriter(
// new OutputStreamWriter(
// socket.getOutputStream()));
// while(true){
// int count = 0;
// count++;
// bw.write("loop"+count);
// sleep(500);
// }
// } catch (IOException e) {
// e.printStackTrace();
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// -----分割线------
}
}
(另外一个线程传入(Socket s) 调用上面的线程)
这是视频教程看到的,上面是正常输出loop1loop2loop3...........
但是如果try换成注释部分的话不会报错,但是不会在cmd端口输出数据。
视频没说为什么,我也搞不懂,请高手指点3、4。

第1个回答  2014-12-12
缓存了的,需要flush一下

。。。。。。。本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网