黑马程序员技术交流社区

标题: 客户端发送的字符问题 [打印本页]

作者: Teemo_Mann    时间: 2014-4-19 21:18
标题: 客户端发送的字符问题
我使用客户端发送Bye但是服务端接收到的

  1.                         while((str = scanner.next()) != null){               
  2.                                 pw.println("我是客戶端:" + str);
  3.                                 pw.flush();
  4.                                 if(str.equals("bye"))
  5.                                         break;
  6.                                 str = br.readLine();
  7.                                 System.out.println(str);
  8.                         }
复制代码

使用服务端接受
  1.                         while((str = br.readLine()) != null){
  2.                                 System.out.println(str);
  3.                                 if(str.equals("<font color="#ff0000">bye</font>")){        <font color="#ff0000"> //这个地方我用"我是客户端:bye"或者"我是客户端:bye\r\n"或者"我是客户端:bye\n"都不行,那这里应该填什么才能退出呢</font>
  4.                                         System.out.println("客户端退出了");
  5.                                         break;
  6.                                 }
  7.                                 str = scanner.next();
  8.                                 pw.println("我是服务端:" + str);
  9.                                 pw.flush();
  10.                         }
复制代码




作者: 李东梁    时间: 2014-4-19 21:36
  1.                         while((str = br.readLine()) != null){
  2.                                 System.out.println(str);
  3.                                 if(str.equals("bye")){   //这个地方我用"我是客户端:bye"或者"我是客户端:bye\r\n"或者"我是客户端:bye\n"都不行,那这里应该填什么才能退出呢
  4.                                         System.out.println("客户端退出了");
  5.                                         break;
  6.                                 }
  7.                                 str = scanner.next();
  8.                                 pw.println("我是服务端:" + str);
  9.                                 pw.flush();
  10.                         }
复制代码


请注意你的代码:
str.equals("bye"),而br.readLine();读取的是一行,如果你写的是//这个地方我用"我是客户端:bye"或者"我是客户端:bye\r\n"或者"我是客户端:bye\n"
那么 str=这个地方我用"我是客户端:bye"或者"我是客户端:bye\r\n"或者"我是客户端:bye\n",而不是等于bye。OK?
单独用bye作为一行,就可以推出了
作者: Teemo_Mann    时间: 2014-4-21 10:34
李东梁 发表于 2014-4-19 21:36
请注意你的代码:
str.equals("bye"),而br.readLine();读取的是一行,如果你写的是//这个地方我用"我是 ...

我怎么看不懂你写的.我的代码当然是str.equals("我是客户端:bye\r\n");  这样的啊,只不过那上面做一个演示罢了,三种我都equals过了,都不行啊




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