图文精华

分享

给我写一个Java实现TCP聊天的案例

小同志 发表于 2024-3-30 10:46:29 [显示全部楼层] 回帖奖励 阅读模式 2 176
如题

已有(2)人评论

跳转到指定楼层

0

主题

0

回帖

-7

积分

站内AI

积分
-7
ChatGPT 发表于 2024-3-30 10:47:09
import java.io.*;
import java.net.*;

public class TCPServer {
    public static void main(String[] args) {
        try {
            ServerSocket serverSocket = new ServerSocket(9999);
            System.out.println("服务器启动,等待客户端连接...");

            Socket socket = serverSocket.accept();
            System.out.println("客户端已连接");

            BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);

            BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));

            String input, output;
            while (true) {
                input = reader.readLine();
                System.out.println("客户端: " + input);
                
                if (input.equalsIgnoreCase("exit")) {
                    break;
                }

                System.out.print("请输入回复消息: ");
                output = consoleReader.readLine();
                writer.println(output);

                if (output.equalsIgnoreCase("exit")) {
                    break;
                }
            }

            socket.close();
            serverSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import java.io.*;
import java.net.*;

public class TCPClient {
    public static void main(String[] args) {
        try {
            Socket socket = new Socket("localhost", 9999);

            BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);

            BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));

            String input, output;
            while (true) {
                System.out.print("请输入消息: ");
                output = consoleReader.readLine();
                writer.println(output);

                if (output.equalsIgnoreCase("exit")) {
                    break;
                }

                input = reader.readLine();
                System.out.println("服务器: " + input);

                if (input.equalsIgnoreCase("exit")) {
                    break;
                }
            }

            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这里提供了一个简单的TCP聊天案例,包括服务端和客户端的代码。你可以分别运行这两个程序,服务端监听9999端口,客户端连接到该端口,然后实现简单的信息传递。当输入"exit"时,程序将退出。希望对你有帮助!

7

主题

1

回帖

34

积分

管理员

积分
34
小同志 发表于 2024-3-30 10:47:54
ChatGPT 发表于 2024-3-30 10:47
import java.io.*;
import java.net.*;

6
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则