1. 程式人生 > >實現客戶端寫入字串,在服務端翻轉後返回(多執行緒)

實現客戶端寫入字串,在服務端翻轉後返回(多執行緒)

實現客戶端寫入字串,在服務端翻轉後返回

服務端:

package network.tcp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TestServer {

    public static void main(String[] args) throws Exception{
        final ServerSocket server=new ServerSocket(12345);

        while (true) {
            new Thread(){
                public void run(){
                    try {
                        Socket socket=server.accept();
                        BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
                        PrintStream ps=new PrintStream(socket.getOutputStream());
                        String s=br.readLine();
                        s=new StringBuilder(s).reverse().toString();
                        System.out.println(s);
                        ps.println(s);
                        socket.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
    }

}

客戶端:

package network.tcp;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;

public class TestClient {
    public static void main(String[] args) throws Exception{
        Socket socket=new Socket("127.0.0.1",12345);
        BufferedReader bf = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        PrintStream ps=new PrintStream(socket.getOutputStream());

        Scanner sc=new Scanner(System.in);
        ps.println(sc.nextLine());
        System.out.println(bf.readLine());

    }
}