TCP服务端
public class TCPServer {
public void tcpServerConnect() {
try {
ServerSocket server = new ServerSocket(8090);
while (true) {
Socket client = server.accept();
new Thread(new ServerThread(client)).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Slf4j
public class ServerThread implements Runnable {
private Socket client;
public ServerThread(Socket client) {
this.client = client;
}
@SneakyThrows
@Override
public void run() {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
OutputStreamWriter socketOut = new OutputStreamWriter(client.getOutputStream());
String mess = br.readLine();
System.out.println(mess);
log.info("客户端:" + client.getInetAddress().getLocalHost() + "已连接到服务器");
socketOut.write("服务端发送给客户端\r\n");
socketOut.flush();
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
TCP客户端
public class TCPClient {
@SneakyThrows
public void tcpClientConnect(){
Socket socket = null;
try {
socket = new Socket("127.0.0.1",8090);
OutputStreamWriter socketOut = new OutputStreamWriter(socket.getOutputStream());
BufferedReader socketReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
socketOut.write("客户端发消息给服务端\r\n");
socketOut.flush();
String line = null;
line = socketReader.readLine();
System.out.println("服务端回送的数据是:"+line);
} catch (IOException e) {
e.printStackTrace();
}finally {
socket.close();
}
}
}