服务端:
- 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 Server {
- public static void main(String[] args) throws IOException {
- ServerSocket server = new ServerSocket(12345);
- while(true){
- final Socket socket = server.accept();
- //多线程
- new Thread(){
- public void run() {
- try {
- BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- //接收数据
- PrintStream ps = new PrintStream(socket.getOutputStream());
- //反转
- StringBuilder sb = new StringBuilder(br.readLine());
- sb.reverse();
- //发出数据
- ps.println(sb.toString());
- //关闭socket,会自动关闭IO流
- socket.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- };
- }.start();
- }
- }
- }
复制代码
客户端:
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintStream;
- import java.net.Socket;
- import java.util.Scanner;
- public class Client {
- public static void main(String[] args) throws IOException{
- Scanner sc = new Scanner(System.in);
- //发起连接
- Socket socket = new Socket("127.0.0.1", 12345);
- //打开输入输出流
- BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- PrintStream ps = new PrintStream(socket.getOutputStream());
- //接收控制台键入内容
- String line = sc.nextLine();
- //发送服务器
- ps.println(line);
- //接收服务器返回信息并打印
- System.out.println(br.readLine());
- //关闭连接
- socket.close();
-
- }
- }
复制代码 |
|