TCP通信程序练习5——上传文件-服务器给出反馈

Posted 硬盘红了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP通信程序练习5——上传文件-服务器给出反馈相关的知识,希望对你有一定的参考价值。

客户端代码:

public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建客户端Socket对象
        Socket s = new Socket("192.168.50.76", 33333);

        //封装文本文件的数据
        BufferedReader br = new BufferedReader(new FileReader("myNet\\\\InetAddressDemo.java"));

        //封装输出流写数据
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
        String line;
        while ((line = br.readLine()) != null) {
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        //使输出终止
        //public void shutdownOutput() 禁用此套接字的输出流。
        s.shutdownOutput();

        //客户端接受反馈
        BufferedReader brClient = new BufferedReader(new InputStreamReader(s.getInputStream()));
        String data = brClient.readLine();
        System.out.println("服务器的反馈:" + data);

        //释放资源
        s.close();
        bw.close();
    }
}

服务器端代码:

public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建服务器端Socket对象
        ServerSocket ss = new ServerSocket(33333);

        //监听客户端连接
        Socket s = ss.accept();

        //接收数据
        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));

        //把数据写入文本
        BufferedWriter bw = new BufferedWriter(new FileWriter("myNet\\\\Copy.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();

        //释放资源
        ss.close();
        bw.close();
    }
}

运行结果:

以上是关于TCP通信程序练习5——上传文件-服务器给出反馈的主要内容,如果未能解决你的问题,请参考以下文章

TCP通信练习1(服务器给出反馈)

JavaSE-21.3.2TCP通信程序练习1

TCP通信程序练习6——多线程实现文件上传

TCP通信程序练习6——多线程实现文件上传

TCP数据传输:上传文本文件并给出反馈

TCP通信程序练习3——服务器数据写入文件