• JAVA TCP结合线程使用


    package Inter;
    
    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class ServeDemo {
        public static void main(String[] args) throws IOException {
           ServerSocket ss = new ServerSocket(10000);
           while (true){
               Socket s = ss.accept();
               new Thread(new ServerThread(s)).start();
           }
    
        }
    }
    package Inter;
    
    import java.io.*;
    import java.net.Socket;
    
    public class ServerThread implements Runnable {
        private Socket s;
        public ServerThread(Socket s) {
        this.s = s;
        }
    
        @Override
        public void run() {
            try {
                BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
                int count = 0;
                File file = new File("./cc_" + count + ".txt");
                while (file.exists()){
                    count++;
                    file = new File("./cc_" + count + ".txt");
                }
                BufferedWriter bw = new BufferedWriter(new FileWriter(file));
                String line;
                while ((line=br.readLine()) != null){
                    bw.write(line);
                    bw.newLine();
                    bw.flush();
                }
                BufferedWriter brw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
                brw.write("文件上传成功!");
                brw.newLine();
                brw.flush();
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    }
    package Inter;
    
    import java.io.*;
    import java.net.Socket;
    
    
    public class ClientDemo {
        public static void main(String[] args) throws IOException {
            Socket s = new Socket("127.0.0.1",10000);
    //
            BufferedReader br = new BufferedReader(new FileReader("./1.txt"));
            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 bu = new BufferedReader(new InputStreamReader(s.getInputStream()));
            String line1 = bu.readLine();
            System.out.println("服务器反馈:"+line1);
            bu.close();
            bw.close();
            br.close();
        }
    }
  • 相关阅读:
    [转]MFC与Qt的内存管理
    [转]QT项目生成流程例图
    [转]vc中nmake.exe cl.exe 的使用
    android_layout_linearlayout(二)
    android_layout_relativelayout(一)
    android_layout_linearlayout(一)
    android_layout_relativelayout(二)
    android_activity_研究(一)
    两个线程解决一个线程卡之路
    android_layout_framelayout
  • 原文地址:https://www.cnblogs.com/phpwyl/p/16155976.html
Copyright © 2020-2023  润新知