黑马程序员技术交流社区

标题: 关于自定义客户端,,, 求解 [打印本页]

作者: ノtrack    时间: 2014-4-18 22:25
标题: 关于自定义客户端,,, 求解
源码如下
  1. import java.io.*;
  2. import java.net.*;
  3. class Demo1
  4. {
  5.         public static void main(String[] args)throws Exception
  6.         {
  7.                
  8.                 ServerSocket ss = new ServerSocket(11000);

  9.                 Socket s = ss.accept();

  10.                 PrintWriter out = new PrintWriter(s.getOutputStream(),true);

  11.                  InputStream in=s.getInputStream();

  12.                  byte []buf=new byte[1024];
  13.                  int len=0;
  14.                  while((len=in.read(buf))!=-1){
  15.                           System.out.println(new String(buf,0,len));
  16.                  }

  17.                 out.println("<font color='red' size='7'>客户端你好</font>");

  18.                 s.close();
  19.                 ss.close();

  20.         }
  21. }
复制代码


自定义服务端 , 我用telnet访问 一直在等待,  用浏览器打不开  何解 ?
作者: 曹冬明    时间: 2014-4-18 23:37
while((len=in.read(buf))!=-1){
                          System.out.println(new String(buf,0,len));
                 }
问题出现在这里,你这里循环的读取,也没有什么结束标记,服务端根本不知道你什么时候输入完数据,所以,你telnet连接服务端的时候,不是没反应,是在等你输数据,你可以试试输入,服务端是可以接收的,只是不知道什么时候结束,所以下面的代码根本执行部到,所以就一直停在哪里,你把循环去掉就可以了
作者: ノtrack    时间: 2014-4-19 09:42
曹冬明 发表于 2014-4-18 23:37
while((len=in.read(buf))!=-1){
                          System.out.println(new String(buf,0,len));
...

那有时候行 有时候不行呀   是不是浏览器有问题 ?  我用谷歌




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