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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 潘星 中级黑马   /  2012-8-7 00:32  /  1460 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
这一个TCP协议的客服端与服务端通过键盘录入的方式将客户端的信息发给服务端的,为什么我客户端写了一句话后程序就死掉了双方都不动了,
我是按照毕老师视频里的步骤写的,为什么我的就会出问题呢,而且我还对着源码看了几遍都没发现问题,
将这个2个类的代码看了一整天,也不知道到底是哪里出的问题,气得快崩溃了,求高手指点一下!谢谢了
*/
import java.io.*;
import java.net.*;
class  TcpClient4
{
        public static void main(String[] args) throws Exception
        {
                Socket s=new Socket("127.0.0.1",10006);
                BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
                BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));       
                BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
                String line=null;
                while ((line=bufr.readLine())!=null)
                {                       
                        if("over".equals(line))
                                break;
                        bufOut.write(line);
                        bufOut.newLine();
                        bufOut.flush();                               
                        String str=bufIn.readLine();
                        System.out.println("server:"+str);
                }
                bufr.close();
                s.close();               
        }
}
class  TcpServer4
{
        public static void main(String[] args) throws Exception
        {
                ServerSocket ss=new ServerSocket(10006);                       
                Socket s=ss.accept();
                String ip = s.getInetAddress().getHostAddress();
                System.out.println(ip+"....connected");       
                BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
                BufferedWriter bufOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
                String line=null;
                while((line=bufIn.readLine())!=null);
                {
                        System.out.println(line);
                        bufOut.write(line.toUpperCase());
                        bufOut.newLine();
                        bufOut.flush();                       
                }
                s.close();
                ss.close();
        }
}

评分

参与人数 1技术分 +1 收起 理由
包晗 + 1 鼓励一下

查看全部评分

4 个回复

倒序浏览
你输入的是不是中文name和密码啊?
回复 使用道具 举报
樊占江 发表于 2012-8-7 00:37
你输入的是不是中文name和密码啊?

啥中文跟密码?
回复 使用道具 举报
class TcpServer4 {
        public static void main(String[] args) throws Exception {
                ServerSocket ss = new ServerSocket(10006);
                Socket s = ss.accept();
                String ip = s.getInetAddress().getHostAddress();
                System.out.println(ip + "....connected");
                BufferedReader bufIn = new BufferedReader(new InputStreamReader(s
                                .getInputStream()));
                BufferedWriter bufOut = new BufferedWriter(new OutputStreamWriter(s
                                .getOutputStream()));
                String line = null;
                while ((line = bufIn.readLine()) != null)
                        ;    //这里,你多了个分号               
                                 {
                        System.out.println(line);
                        bufOut.write(line.toUpperCase());
                        bufOut.newLine();
                        bufOut.flush();
                }
                s.close();
                ss.close();
        }
}

希望可以帮到你

评分

参与人数 1技术分 +1 收起 理由
包晗 + 1

查看全部评分

回复 使用道具 举报
余明辉 发表于 2012-8-7 08:07
class TcpServer4 {
        public static void main(String[] args) throws Exception {
                ServerSocket ss = ne ...

还真的是,我找了那么久都没发现,原来是多了个分号,真是太感谢你了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马