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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张亚青 中级黑马   /  2013-3-25 09:03  /  1478 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张亚青 于 2013-3-25 11:01 编辑


  1. package chapter17;
  2. import java.net.*;
  3. import java.io.*;
  4. /**

  5. 需求:
  6. 1,使用TCP传输定义两个类 分别是客户端(TextClient)和服务端(TextServer);
  7. 2.服务端开启后,客户端连接服务端,并向服务端发送文件;
  8. 3.服务端接受数据,存储成功后返回给客户端提示“上传成功”;
  9. 4.客户端关闭资源。
  10. */
  11. class TextClient
  12. {
  13.         public static void main(String[] args) throws Exception
  14.         {
  15.                 //创建套接字客户端
  16.                 Socket s=new Socket("asus-PC",1006);
  17.                 //创建本地上传文件的文件流对象
  18.                 BufferedReader br=new BufferedReader(new FileReader("01IPDemo.java"));
  19.                 //获取并封装套接字客户端中的输出流
  20.                 PrintWriter out=new PrintWriter(s.getOutputStream(),true);

  21.                 String line=null;
  22.                 while ((line=br.readLine())!=null)
  23.                 {
  24.                         out.println(line);
  25.                 }
  26.                 //禁用客户端套接字的输出流
  27.                 s.shutdownOutput();
  28.                 //接收服务端发来的提示并显示在控制台
  29.                 BufferedReader bufIn=new BufferedReader (new InputStreamReader (s.getInputStream()));
  30.                 String str=bufIn.readLine();
  31.                 System.out.println(str);
  32.                 //关闭资源
  33.                 br.close();
  34.                 s.close();               
  35.         }
  36. }

  37. class TextServer
  38. {
  39.         public static void main(String [] args) throws Exception
  40.         {
  41.                 //创建服务端套接字
  42.                 ServerSocket ss=new ServerSocket(10006);
  43.                 //获取客户端套接字
  44.                 Socket s=ss.accept();
  45.                 //获取客户端ip并且显示在控制台
  46.                 String name=s.getInetAddress().getHostName();
  47.                 System.out.println(name+"...........connected");
  48.                 //封装相应的流
  49.                 BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
  50.                 PrintWriter out=new PrintWriter(new FileWriter("server.txt"));
  51.                 //接收客户端数据并且存储在服务端
  52.                 String line=null;
  53.                 while ((line =bufIn.readLine())!=null)
  54.                 {
  55.                         out.println(line);                        
  56.                 }
  57.                 //发给客户端提示
  58.                 PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
  59.                 pw.println("上传成功");
  60.                 //关闭资源
  61.                 out.close();
  62.                 s.close();
  63.                 ss.close();
  64.         }
  65. }

复制代码
以上代码编译可以通过,为什么运行的时候会报异常?



评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

2 个回复

倒序浏览
兄弟..你客户端的端口写的是1006...服务端是10006....不用我多说了吧....{:soso_e127:}
回复 使用道具 举报
李尧 发表于 2013-3-25 09:45
兄弟..你客户端的端口写的是1006...服务端是10006....不用我多说了吧.... ...

谢谢了,兄弟比较细心啊,是我大意了。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马