TCP通信练习3

需求:
客户端:数据来自键盘输入,886结束
服务端:接收到的数据写入文本文件

package WangLuoBianCheng;

import java.io.*;
import java.net.Socket;

/*
    客户端:键盘输入数据,886结束
 */
public class HClientDemo3 {
    
    
    public static void main(String[] args) throws IOException {
    
    

        //创建Socket
        Socket s = new Socket("192.168.0.102",10003);

        // 键盘输入
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        // 发送数据,获取输出流
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
        String line;
        while ((line=br.readLine())!=null){
    
    
            if ("886".equals(line)){
    
    
                break;
            }

            bw.write(line);
            bw.newLine();
            bw.flush();
        }
        s.close();
    }
}

package WangLuoBianCheng;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/*
服务器:接收数据写到文本文件
 */
public class HSeverDemo3 {
    
    
    public static void main(String[] args) throws IOException {
    
    

        //创建SeverSocket
        ServerSocket ss = new ServerSocket(10003);

        //监听,返回Socket对象
        Socket s = ss.accept();

        //获取输入流
        InputStream is = s.getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        //数据写入文本文件
        BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\java_test\\heima106\\s.txt"));

        String line;
        while ((line=br.readLine())!=null){
    
    
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        ss.close();
        bw.close();
    }
}

练习四:
客户端:数据来自于文本文件
服务端:接收到的数据写入文本文件

package WangLuoBianCheng;

import java.io.*;
import java.net.Socket;

/*
    客户端:数据来自于文本文件
    服务端:接收到的数据写入文本文件
 */
public class IClientDemo4 {
    
    
    public static void main(String[] args) throws IOException {
    
    

        //创建Socket
        Socket s = new Socket("192.168.0.102",10004);

        // 文本文件
        BufferedReader br = new BufferedReader(new FileReader("D:\\java_test\\heima106\\s.txt"));

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

            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        br.close();
        s.close();
    }
}

package WangLuoBianCheng;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/*
客户端:数据来自于文本文件
    服务端:接收到的数据写入文本文件
 */
public class ISeverDemo4 {
    
    
    public static void main(String[] args) throws IOException {
    
    

        //创建SeverSocket
        ServerSocket ss= new ServerSocket(10004);

        //监听,返回Socket
        Socket s = ss.accept();

        //数据输入流
        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        // 写文本文件
        BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\java_test\\heima106\\a.txt"));

        String line;
        while ((line=br.readLine())!=null){
    
    
            bw.write(line);
            bw.newLine();
            bw.flush();
        }

        bw.close();
        ss.close();
    }
}

练习5:
客户端:数据来自与文本文件,接收服务器反馈
服务器:接收到的数据写入文本文件,给出反馈

package WangLuoBianCheng;

import java.io.*;
import java.net.Socket;

/*
    客户端:数据来与文本文件,接收服务器反馈
 */
public class JClientDemo5 {
    
    
    public static void main(String[] args) throws IOException {
    
    
        //创建Socket
        Socket s = new Socket("192.168.0.102",10006);
        //文本文件
        BufferedReader br = new BufferedReader(new FileReader("D:\\java_test\\heima106\\s.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 br1 = new BufferedReader(new InputStreamReader(s.getInputStream()));
        String data=br1.readLine();
        System.out.println("服务器反馈:"+data);

        br.close();
        s.close();
    }
}

package WangLuoBianCheng;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/*
接收到的数据,写入文本文件,给出反馈
 */
public class JSeverDemo5 {
    
    
    public static void main(String[] args) throws IOException {
    
    
        //创建
        ServerSocket ss = new ServerSocket(10006);
        Socket s = ss.accept();

        //输入流接收数据
        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        //文本文件
        BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\java_test\\heima106\\a.txt"));

        String line;
        while ((line=br.readLine())!=null){
    
    
            bw.write(line);
            bw.newLine();
            bw.flush();
        }



        //给出反馈
        //输出流发送数据
        BufferedWriter bw1 = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
        bw1.write("收到数据~");
        bw1.newLine();
        bw1.flush();

        bw.close();
        ss.close();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41997237/article/details/109555910