黑马程序员技术交流社区

标题: 关于网络编程的一个小问题 [打印本页]

作者: 再见亦是泪    时间: 2013-1-22 21:18
标题: 关于网络编程的一个小问题
package cn.soft.socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class TransClientDemo {

        /**
         * @param args
         * @throws IOException
         * @throws UnknownHostException
         */
        public static void main(String[] args) throws UnknownHostException, IOException {

                Socket s=new Socket("127.0.0.1",10005);//创建客户端窗口
                BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));//读取键盘输入
                PrintWriter out=new PrintWriter(s.getOutputStream(),true);//socket输出流
                BufferedReader bufrin=new BufferedReader(new InputStreamReader(s.getInputStream()));
                String line=null;
                while ((line=bufr.readLine())!=null) {
                        if ("over".equals(line)) {
                                break;
                        }
                out.println(line);
                String upperStr=bufrin.readLine();
                System.out.println(upperStr);
                }
                s.close();
               
        }

}
有这样一个问题 如果我这行里不用自动刷新PrintWriter out=new PrintWriter(s.getOutputStream(),true);//socket也就是不加true,然后在最后加个out.flush();为什么达不到同样的效果,这是为何,用true就没问题会自动刷新
作者: 夏振博    时间: 2013-1-22 22:27
把PrintWriter out=new PrintWriter(s.getOutputStream(),true); 中的true自动刷新去掉
在out.println(line);下面加out.flush();可以达到一样的效果
作者: 杨玲    时间: 2013-1-22 22:33
在最后?是在哪?你看下是不是加的位置不对!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2