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();
        }
    }
}
最后修改:2024 年 05 月 04 日
咱们谁跟谁,用不着~