问题已经找到,谁来解释一下为什么?
不知是哪里出错了,关于socket的问题,请大家帮我看看是哪里有问题
本来我是使用BufferedReader,和BufferedWriter在Socket连接中使用数据流,BufferedWriter收不到数据.
后来我把BufferedWriter必为PrintWriter后就可以了.
这是为什么?
BufferedWriter不能在这里使用么?
是不是BufferedWriter只能用在对文件的写数据中作用?在屏幕中不能使用?
[此贴子已经被作者于2007-4-3 14:41:29编辑过]
----------------解决方案--------------------------------------------------------
关键代码帖出来
----------------解决方案--------------------------------------------------------
回复:(ice00mouse)谁来帮帮看看是哪里错了?
是不是不能用BufferedReader in; 和 BufferedWriter out;
来进行数据的传输啊?
----------------解决方案--------------------------------------------------------
貌似在这里出了问题
while(!done){
System.out.println("试一试");
str=in.readLine();
if(str!=null)
{
out.write(str);
System.out.println(str);
frame.setMessage(str);
if(str.equals("bye"))
done=true;
}
else
{
System.out.println("内容为空");
}
}
我将System.out.println("试一试");放在str=in.readLine();之后,,,后台不能打印出"试一试".
将System.out.println("试一试");放在str=in.readLine();之前,,,后台就可以打印出来.
看来是str=in.readLine();出了问题.可是这是为什么呢?是什么问题?
----------------解决方案--------------------------------------------------------
没有清空缓冲区
----------------解决方案--------------------------------------------------------
在调用BufferedWriter试着调用一下flush(),强制输出
----------------解决方案--------------------------------------------------------
恩 我也不怎么清楚哦
----------------解决方案--------------------------------------------------------
我一会试试
我使用PrintWirter就可以了,
不过我再试调用BufferedWriter的flush()方法看看行不行.
谢谢上面几位
----------------解决方案--------------------------------------------------------