zoukankan      html  css  js  c++  java
  • java--TCP通信编程进行多线程文件上传

    客户端:

    package ThreadTcp;
    
    import java.io.*;
    import java.net.Socket;
    
    public class clicentThread {
        public static void main(String[] args) throws IOException {
            Socket s=new Socket("192.168.1.9",23456);
            BufferedReader br=new BufferedReader(new FileReader("copy.java"));
            BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
            String line;
            while ((line=br.readLine())!=null){
                bw.write(line);
                bw.newLine();
                bw.flush();
            }
            s.shutdownOutput();
            //接收服务端反馈
            BufferedReader brc=new BufferedReader(new InputStreamReader(s.getInputStream()));
            String data=brc.readLine();
            System.out.println(data);
            br.close();
            s.close();
        }
    }
    

     服务端:

    package ThreadTcp;
    
    import java.io.IOException;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class ServerThread {
        public static void main(String[] args) throws IOException {
            ServerSocket ss =new ServerSocket(23456);
            while (true){
                Socket s = ss.accept();
                new Thread(new serThread(s)).start();
            }
    
        }
    }
    

    线程类:

    package ThreadTcp;
    
    import java.io.*;
    import java.net.Socket;
    
    public class serThread implements Runnable {
        private Socket s;
        public serThread(Socket s) {
            this.s=s;
        }
    
        @Override
        public void run() {
            try {
                BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
                BufferedWriter bw=new BufferedWriter(new FileWriter("copy"+Thread.currentThread().getName()+".java"));
                String line;
                while ((line=br.readLine())!=null){
                    bw.write(line);
                    bw.newLine();
                    bw.flush();
    
                }
                BufferedWriter bwserver=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
                bwserver.write("文件上传成功!");
                bwserver.newLine();
                bwserver.flush();
                s.close();
            }catch (IOException e){
                e.printStackTrace();
            }
    
    
        }
    }
    
    不经一番彻骨寒,哪有梅花扑鼻香?
  • 相关阅读:
    Zend Studio
    mysql workbench
    phpmyadmin
    navicat for mysql
    phpstorm
    django中 debug-toolbar插件 crm项目补充
    clean_data 和 instance的区别
    elasticsearch 第一章 初识elasticsearch
    爬虫第七章 scrapy中间件 + 基于crawlSpider全站爬取网络数据
    爬虫第六章 scrapy的具体应用 5大核心组件 scrapy持久化存储 请求传参
  • 原文地址:https://www.cnblogs.com/zongyao/p/13831171.html
Copyright © 2011-2022 走看看