服务端:
package com.eapp.demo;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerDemo {
public static void main(String[] args) {
ServerSocket server=null;
try {
server=new ServerSocket(20006);
Socket socket=server.accept(); // 阻塞过程
// 获取客户端发送过来的数据
BufferedReader buf=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String info ="server 响应数据--推送给客户端:" + buf.readLine();
System.out.println(info);
// 获取 Socket 的输出流,用来向客户端发送数据
PrintWriter out=new PrintWriter(socket.getOutputStream());
out.println(info);
out.flush();
} catch (IOException e) {
}
}
}
客户端:
package com.eapp.demo;
import java.io.*;
import java.net.Socket;
import java.util.Scanner;
public class ClientDemo {
public static void main(String[] args) throws IOException {
// 客户端请求与本机在 20006 端口建立 TCP 连接
Socket socket = new Socket("localhost", 20006);
PrintWriter out = new PrintWriter(socket.getOutputStream());
// 获取键盘输入
System.out.println("请输入信息:");
Scanner sc = new Scanner(System.in);
String str = sc.next();
out.println(str);
out.flush();
// 获取 Socket 的输入流,用来接收从服务端发送过来的数据
BufferedReader buf = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String info = buf.readLine();
System.out.println("Server:"+ info);
}
}