黑马程序员技术交流社区

标题: 求大虾解释 为什么我的浏览器会解析不到呢? [打印本页]

作者: 黑马唐浩    时间: 2012-2-5 16:14
标题: 求大虾解释 为什么我的浏览器会解析不到呢?
本帖最后由 黑马唐浩 于 2012-2-5 17:12 编辑

我看毕老师视频网络第24天。
有一个小例子。
代码如下
  1. class  DIYClient
  2. {
  3.         public static void main(String[] args)throws Exception
  4.         {
  5.                  ServerSocket ss = new ServerSocket(11100);

  6.                  Socket s = ss.accept();

  7.                  System.out.println(s.getInetAddress().getHostAddress()+":" + s.getPort());

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

  9.                 out.println("客户端你好");

  10.                 s.close();

  11.                 ss.close();
  12.         }
  13. }
复制代码
命令行能打出ip和端口号,可是浏览器就是无法解析到数据啊
作者: 马欢    时间: 2012-2-5 16:35
InputStream in=s.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);

System.out.println(new String(buf,0,len));
加在
PrintWriter out = new PrintWriter (s.getOutputStream(),true);
这句话前面。这样代码就完整了。
多看看视频

作者: 王_涛    时间: 2012-2-5 16:59
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.net.Socket;
  4. //客户端
  5. public class DTYClient {
  6.         public static void main(String[] args) throws Exception {
  7.                 Socket s = new Socket("127.0.0.1",11100);
  8.                 BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
  9.                 System.out.println(br.readLine());
  10.                 s.close();
  11.         }
  12. }
复制代码
  1. import java.io.PrintWriter;
  2. import java.net.ServerSocket;
  3. import java.net.Socket;
  4. //服务端
  5. class  DIYService

  6. {

  7.         public static void main(String[] args)throws Exception

  8.         {

  9.                  ServerSocket ss = new ServerSocket(11100);



  10.                  Socket s = ss.accept();



  11.                  System.out.println(s.getInetAddress().getHostAddress()+":" + s.getPort());



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



  13.                 out.println("客户端你好");//out.print("客户端你好");客户端接收不到数据,原因是客户端没有读到结束标志。



  14.                 s.close();



  15.                 ss.close();

  16.         }

  17. }
复制代码
可以解析到数据

作者: 黑马唐浩    时间: 2012-2-5 17:11
王_涛 发表于 2012-2-5 16:59
可以解析到数据

谢谢。
现在又可以解析数据了,代码什么的都没动过。真是邪门啊
作者: 黑马唐浩    时间: 2012-2-5 17:11
马欢 发表于 2012-2-5 16:35
InputStream in=s.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);

知道了,谢谢
作者: 最初的理想    时间: 2012-2-5 17:12
ls  人家说的是浏览器这个客户端解析不到数据。
lu的代码没问题  我的浏览器可以解析,不知道你的浏览器地址写对了没有?我写的是 :http://localhost:11100/
作者: 黑马唐浩    时间: 2012-2-5 17:18
最初的理想 发表于 2012-2-5 17:12
ls  人家说的是浏览器这个客户端解析不到数据。
lu的代码没问题  我的浏览器可以解析,不知道你的浏览器地 ...

哈哈。写对了啊。
开始不行的时候,我还http://localhost:11100/试一遍
http://127.0.0.1:11100/试一遍
http://192.168.1.105:11100试了好几遍呢。;P
真是邪门啊。毕老师视频里第一次试也没解析到数据。
后来什么也不干,重复了一遍操作就行了。真是奇怪了。




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