TCP实现文本大小写转换

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_18505209/article/details/98863659

需求:

客户端向服务器端发送文本,服务端将文本中的小写字母转换为大写后,再将文本返回给客户端,客户端可以不断地发送文本,当客户端输入over时,转换结束。

客户端:


public static void main(String[] args) throws IOException {
    //创建Socket对象并绑定服务器端口
    Socket socket = new Socket(InetAddress.getLocalHost(), 30000);
    //用转换流将Socket内部向网络写数据的输出流转成字符缓冲写出流
    BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
    //用转换流将Socket内部从网络读数据的读入流转成字符缓冲读入流
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    Scanner in = new Scanner(System.in);
    //不断写入数据
    while (true){
        //从键盘输入数据
        String data = in.nextLine();
        //写数据
        bufferedWriter.write(data);
        //添加换行
        bufferedWriter.newLine();
        //刷新
        bufferedWriter.flush();
        //只有输入“over”才结束通信
        if (data.equals("over")){
            break;
        }
        //接收服务器返回的信息
        System.out.println(bufferedReader.readLine());
    }
    //关闭资源
    bufferedWriter.close();
    socket.close();
}

服务器端:


public static void main(String[] args) throws IOException {
    //创建ServerSocket对象并设置端口
    ServerSocket serverSocket = new ServerSocket(30000);
    //接收从客户端传来的socket对象
    Socket socket = serverSocket.accept();
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
    //不断从网络接收数据
    while (true){
        //使用data接收数据
        String data = bufferedReader.readLine();
        //输出接收的信息
        System.out.println(data);
        //判断如果是“over”结束通信
        if(data.equals("over")){
            break;
        }
        //将数据处理后,写回客户端
        bufferedWriter.write("将小写字母转成大写:"+data.toUpperCase());
        bufferedWriter.newLine();
        bufferedWriter.flush();
    }
    //关闭资源
    bufferedReader.close();
    serverSocket.close();
}

猜你喜欢

转载自blog.csdn.net/qq_18505209/article/details/98863659