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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lyssenlove 中级黑马   /  2014-7-8 18:40  /  1025 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

没有把文件的内容传进去。。
tcpSend是客户端,tcpAccept是服务器端!!

  1. public void tcpSend() {

  2.                 System.out.println("发送端开始工作。。");

  3.                 try {

  4.                         //获取本机的ip地址
  5.                         InetAddress ip = InetAddress.getLocalHost();
  6.                        
  7.                         // 获取tcpsocket服务,使用Socket对象
  8.                         Socket s = new Socket(ip.getHostAddress(), 10005);
  9.                        
  10.                         //拿到客户端socket的输出流
  11.                         OutputStream os = s.getOutputStream();
  12.                         BufferedWriter buffWriter = new BufferedWriter(new OutputStreamWriter(os));
  13.                        
  14.                         //读取一个文件
  15.                         BufferedReader buffReader = new BufferedReader(new InputStreamReader(
  16.                                                                                                          new FileInputStream("E:\\test.txt")));
  17.                         String line = null;
  18.                         while((line = buffReader.readLine())!=null) {
  19. //                                System.out.println(line);
  20.                                 buffWriter.write(line);
  21.                                
  22.                         }
  23.                        
  24.                         s.shutdownOutput();
  25.                        
  26.                         //拿到客户端socket的输入流,以便接收服务器端发送的数据
  27.                         InputStream is = s.getInputStream();
  28.                         byte[] buf = new byte[1024];
  29.                         is.read(buf);
  30.                        
  31.                         String test = new String(buf, 0, buf.length);
  32.                        
  33.                         //输出服务端发送过来的数据
  34.                         System.out.println(test);
  35.                        
  36.                         is.close();
  37.                         os.close();
  38.                         s.close();
  39.                        
  40.                        
  41.                 } catch (SocketException e) {
  42.                         // TODO Auto-generated catch block
  43.                         e.printStackTrace();
  44.                 } catch (UnknownHostException e) {
  45.                         // TODO Auto-generated catch block
  46.                         e.printStackTrace();
  47.                 } catch (IOException e) {
  48.                         // TODO Auto-generated catch block
  49.                         e.printStackTrace();
  50.                 }

  51.         }

  52.         // 模拟服务器端接受数据
  53.         public void tcpAccept() {

  54.                 try {
  55.                         //建立服务器端的serversocket对象
  56.                         ServerSocket ss = new ServerSocket(10005);
  57.                        
  58.                         //获取客户端对象
  59.                         Socket serverSocket = ss.accept();
  60.                        
  61.                         System.out.println("客户端ip:"+serverSocket.getInetAddress().getHostAddress());
  62.                        
  63.                         BufferedWriter buffWriter = new BufferedWriter(new OutputStreamWriter(
  64.                                                                  new FileOutputStream("E:\\test_server.txt")));
  65.                        
  66.                         //拿到客户端的发送过来的数据
  67.                         InputStream in = serverSocket.getInputStream();
  68.                         BufferedReader buffReader = new BufferedReader(new InputStreamReader(in));
  69.                         String line = null;
  70.                         while((line = buffReader.readLine())!=null) {
  71.                                 /*System.out.println("服务器端数据:"+line);*/
  72.                                 buffWriter.write(line);
  73.                         }
  74.                        
  75.                         //System.out.println(customStr);
  76.                        
  77.                
  78.                         //服务器端的输出流
  79.                         OutputStream out = serverSocket.getOutputStream();
  80.                         String str = "服务器已经接收上传文件!!";
  81.                         out.write(str.getBytes());
  82.                        
  83.                         in.close();
  84.                         out.close();
  85.                         serverSocket.close();
  86.                        
  87.                 } catch (SocketException e) {
  88.                         // TODO Auto-generated catch block
  89.                         e.printStackTrace();
  90.                 } catch (IOException e) {
  91.                         // TODO Auto-generated catch block
  92.                         e.printStackTrace();
  93.                 }

  94.         }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马