• Java网络编程


    1、Client

    package cn.qi.Client;
    
    import java.io.*;
    import java.net.Socket;
    
    public class Client {
        Socket clientSocket;
        Client() {
            // 建立连接到服务器端的socket
            try {
                clientSocket = new Socket("127.0.0.1", 5000);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void readFileAndSent() throws IOException {
            OutputStream os = clientSocket.getOutputStream();
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
    
            // 读文件
            String path = this.getClass().getClassLoader().getResource("./prop/text.txt").getPath();
            FileReader fr = new FileReader(path);
            BufferedReader br = new BufferedReader(fr);
            String str = null;
            while((str = br.readLine()) != null) {
                System.out.println(str);
                // 每读一行,写一行
                bw.write(str);
                // 获取当前OS的换行符并写入
                bw.write(System.getProperty("line.separator"));
                bw.flush();
            }
    
            // 关闭流
            bw.close();
            br.close();
            fr.close();
    
            clientSocket.close();
        }
    }

    2、Server

    package cn.qi.Server;
    
    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
        ServerSocket serverSocket;
        Server() {
            // 建立severSocket,监听对应端口
            try {
                serverSocket = new ServerSocket(5000);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void readFileAndWrite() throws IOException {
            // 获取写入路径
            String path = this.getClass().getClassLoader().getResource("./prop/").getPath();
            // 服务器端写文件
            FileWriter fw = new FileWriter(path+"textSocket.txt");
            BufferedWriter bw = new BufferedWriter(fw);
    
            // 写的内容来自网络端
            while (true) {
                Socket socket = serverSocket.accept();
                InputStream is = socket.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String str = null;
                while((str = br.readLine()) != null) {
                    // 读到了客户端发送的信息
                    bw.write(str);
                    // 获取当前OS的换行符并写入
                    bw.write(System.getProperty("line.separator"));
                    bw.flush();
                }
    
                // 关闭流
                br.close();
    
                socket.close();
            }
        }
    }
  • 相关阅读:
    Lua 语言学习
    Unity EasyTouch官方案例学习
    Unity Dotween官方案例学习
    斗地主出牌规则
    C# XML文件读取
    斗地主项目总结
    C# 委托和事件
    C# 观察者模式
    消防法及相关法律法规(二)
    消防法及相关法律法规(一)
  • 原文地址:https://www.cnblogs.com/GjqDream/p/11624327.html
Copyright © 2020-2023  润新知