A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 在学野马 中级黑马   /  2014-10-8 22:44  /  1074 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String[] args) throws UnknownHostException, Exception {                // TODO Auto-generated method stub
                Socket socket=new Socket("192.168.1.101",10009);                BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));                BufferedReader bfr=new BufferedReader(new InputStreamReader(socket.getInputStream()));                BufferedWriter bfw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));                String line=null;                while((bf.readLine())!=null){                        bfw.write(line);                        bfw.newLine();                        bfw.flush();                        String len=bfr.readLine();                        System.out.println(len);                                        }                socket.close();                bf.close();                                                }


public static void main(String[] args) throws Exception {
                // TODO Auto-generated method stub

                ServerSocket serverSocket=new ServerSocket(10009);
                Socket socket=serverSocket.accept();
                System.out.println(socket.getInetAddress().getHostAddress());
                BufferedReader bfr=new BufferedReader(new InputStreamReader(socket.getInputStream()));
                BufferedWriter bfw=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
                String line=null;
                while((line=bfr.readLine())!=null){//阻塞 没发现回车标记还在等着读
                        bfw.write(line.toUpperCase());
                        bfw.newLine();
                        bfw.flush();
                }
                serverSocket.close();
                socket.close();
        }

2 个回复

倒序浏览
没有导入包,还有看看英文字母拼写有没错,内容思路步骤没问题,这个是老毕的网络编程——翻译软件视频。细心点检查下
回复 使用道具 举报
楼主的问题在于楼主的客户端中while循环写的是这样的while((bf.readLine())!=null),正确的应该是while((line=bf.readLine())!=null),因为楼主的那种方式,line的值一致为null,因此服务端收不到数据
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马