为什么只有关闭后 才可以读出数据呢??

pengwenshen 2005-12-19 05:27:13
Socket socket=new Socket("127.0.0.1",2020);
//向本机的4700端口
PrintWriter os=new PrintWriter(socket.getOutputStream());
//由Socket对象得到输出流,并构造PrintWriter对象

//由Socket对象得到输入流,并构造相应的BufferedReader对象
os.println("11111111");
//os.flush();
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String strin;
strin=is.readLine();
System.out.println(strin);
System.out.println("Server:"+strin);

//====我连接服务端 通过服务端发送过来的数据 短开的时候 才显示数据??

为什么 strin=is.readLine();读不了实时数据呢???奇怪
...全文
187 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
inexplicable 2005-12-20
  • 打赏
  • 举报
回复
1) no new line symbol got.
2) server not flushing
pengwenshen 2005-12-20
  • 打赏
  • 举报
回复
to wsk_228(qing_feng)

我现在发送数据可以实时显示出来 我加了句刷新os.flush();, 但我在一次客户端接受数据时候BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream())); 却不能实时显示出来strin=is.readLine();
System.out.println(strin); ???

我的服务端 是DELPHI写的测试程序,现在仅短开的时候 ,才把服务端发送的数据显示出来??


pengwenshen 2005-12-20
  • 打赏
  • 举报
回复
我改了下
Socket socket=new Socket("127.0.0.1",2020);
//向本机的4700端口
PrintWriter os=new PrintWriter(socket.getOutputStream());
//由Socket对象得到输出流,并构造PrintWriter对象

//由Socket对象得到输入流,并构造相应的BufferedReader对象
os.println("11111111");
os.flush();
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String strin;
strin=is.readLine();
System.out.println(strin);
System.out.println("Server:"+strin);

我想把服务短接受过来的System.out.println(strin);显示出来 ,,现在仅仅我把服务器 才可以把数据显示出来???为什么不行呢??
wsk_228 2005-12-20
  • 打赏
  • 举报
回复
public PrintWriter(OutputStream out,
boolean autoFlush)

据一个存在的 OutputStream,创建一个新的 PrintWriter。 这个简洁的构造子创建必要的 OutputStreamWriter, 它将使用缺省的字符编码将字符转换为字节。

参数:
out - 一个输出流。
autoFlush - 一个布尔值;如果为 true, println() 方法将刷新输出缓冲

wsk_228 2005-12-19
  • 打赏
  • 举报
回复
这个可是基础知识呀。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧