JavaTCP服务
TCPClient
import java.io.DataOutputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
public class TCPClient {
public static void main(String[] args) throws Exception {
// 创建Socket对象,连接到服务器
Socket socket = new Socket("127.0.0.1", 8888);
// 从socket获取输出流,用于发送数据到服务端
OutputStream os = socket.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
// 创建Scanner对象,用于从控制台获取用户输入
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入消息(输入'exit'退出):");
String message = scanner.nextLine(); // 获取用户输入内容
if ("exit".equalsIgnoreCase(message)) {
break; // 如果用户输入exit,则退出循环
}
dos.writeUTF(message); // 将数据写出去
}
// 关闭资源
dos.close();
os.close();
scanner.close();
socket.close();
}
}
TCPServer
import java.io.DataInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) throws Exception {
// 创建ServerSocket对象,为服务端注册端口
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务端启动,等待客户端连接...");
Socket socket = serverSocket.accept(); // 等待客户端连接
// 从socket获取输入流,用于接收客户端发送的数据
InputStream is = socket.getInputStream();
DataInputStream dis = new DataInputStream(is);
try {
while (true) {
String message = dis.readUTF(); // 接收客户端发送的消息
System.out.println("客户端说: " + message);
}
} catch (Exception e) {
System.out.println("连接异常,即将关闭连接...");
} finally {
// 关闭资源
dis.close();
is.close();
socket.close();
serverSocket.close();
}
}
}