package com.test.socket;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket=new ServerSocket(5555);
while(true){
Socket socket=serverSocket.accept();
// 读取客户端数据
DataInputStream input = new DataInputStream(socket.getInputStream());
// 向客户端发送数据
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
// 读取客户端数据
System.out.println("客户端发过来的内容: " + input.readUTF());
System.out.print("请输入: \t");
// 发送键盘输入的一行
String s = new BufferedReader(new InputStreamReader(System.in)).readLine();
out.writeUTF(s);
}
}
}
package com.test.socket;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.Socket;
public class TCPClient {
public static void main(String[] args) throws Exception{
while (true) {
// 创建一个流套接字并将其连接到指定主机上的指定端口号
Socket socket=new Socket("127.0.0.1",5555);
// 读取服务器端数据
DataInputStream input = new DataInputStream(socket.getInputStream());
// 向服务器端发送数据
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
System.out.print("请输入: \t");
String str = new BufferedReader(new InputStreamReader(System.in)).readLine();
out.writeUTF(str);
String ret = input.readUTF();
System.out.println("服务器端返回过来的是: " + ret);
// 如接收到 "bye" 则断开连接
if ("bye".equals(ret)) {
System.out.println("客户端将关闭连接");
Thread.sleep(500);
break;
}
}
}
}