• java===TCP(多线程多客户端同时上传字节数据:图片为例)


    package net;
    
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    public class UploadPicClient {
        public static void main(String[]args)throws IOException,UnknownHostException{
            Socket s = new Socket("192.168.1.2",7856);
            FileInputStream fis = new FileInputStream("e:\data\1.jpg");
            OutputStream os = (s.getOutputStream());
            int len = 0 ;
            byte[]buf = new byte[1024];
            while((len=fis.read(buf))!=-1){
                 os.write(buf,0,len);
                 os.flush();
                 
            } 
            s.shutdownOutput();
            InputStream in = (s.getInputStream());
            byte[]bufin = new byte[1024];
            while((len=in.read(bufin))!=-1){
                   System.out.println(new String(bufin,0,len));
            }
            fis.close();
            s.close();
      }
    }
    package net;
    
    import java.io.*;
    import java.net.*;
    
    
    public class UploadPicServer {
         public static void main(String[]args)throws IOException{
             ServerSocket ss = new ServerSocket(7856);
             while(true){
                  Socket s = ss.accept();
                  new Thread(new Task(s)).start();
             }
             
             
       }
    }
    package net;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    
    public class Task implements Runnable {
        private Socket s;
        public Task(Socket s){
              this.s=s;
        }
        @Override
        public void run() {
            int count=0;
            try{
                 File dir = new File("e:\pic");
                 if(!dir.exists()){
                      dir.mkdirs();    
                 }
                 String ip = s.getInetAddress().getHostAddress();
                 File file = new File(dir,ip+".jpg");
                 while(file.exists()){
                      file = new File(dir,ip+"("+(++count)+")"+".jpg");
                 }
               InputStream in = s.getInputStream();
               FileOutputStream fos = new FileOutputStream(file);
               byte[]buf = new byte[1024];
               int len = 0;
               while((len=in.read(buf))!=-1){
                    fos.write(buf,0,len);
                    fos.flush();
                    
               }
               OutputStream out = s.getOutputStream();
               out.write("上传成功".getBytes());
               out.flush();
               s.close();
               fos.close();
            }catch(Exception e){
            
            }
    
        }
    
    }
  • 相关阅读:
    android 本地通知
    android qq开合表
    android 获取经纬度
    android读取通讯录和使用系统通讯录
    android Dialog官方demo
    android Listview分页
    android 瀑布流
    2020-08-16:数据任务是怎么优化的?(数据倾斜,参数相关调节)
    2020-08-15:什么情况下数据任务需要优化?
    2020-08-14:数据任务的执行引擎用的哪些?
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/6917725.html
Copyright © 2020-2023  润新知