如何创建Java TCP Server端

在网络编程中,TCP(Transmission Control Protocol)是一种面向连接的协议,它提供可靠的、基于字节流的数据传输。在Java中,我们可以通过使用Socket类和ServerSocket类来创建TCP Server端。

实际问题

假设我们需要创建一个简单的TCP Server端,用于接收客户端发送的消息,并将消息返回给客户端。这样的Server端可以用于实现简单的即时通讯应用。

示例代码

下面是一个简单的示例代码,用于创建一个TCP Server端:

import java.io.*;
import java.net.*;

public class TCPServer {
    public static void main(String[] args) {
        try {
            ServerSocket serverSocket = new ServerSocket(9999);
            System.out.println("Server started. Waiting for clients...");

            while (true) {
                Socket clientSocket = serverSocket.accept();
                System.out.println("Client connected: " + clientSocket);

                BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);

                String message = in.readLine();
                System.out.println("Received message from client: " + message);

                out.println("Message received: " + message);

                in.close();
                out.close();
                clientSocket.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个示例代码中,我们首先创建一个ServerSocket实例,并指定端口号为9999。然后通过while循环不断接受客户端的连接。对于每个连接,我们创建一个新的线程来处理客户端的请求,并将消息返回给客户端。

类图

下面是一个简单的类图,展示了TCPServer类与Socket类之间的关系:

classDiagram
    class TCPServer {
        +main(String[] args)
    }
    class Socket {
        +getInputStream()
        +getOutputStream()
    }

饼状图

下面是一个简单的饼状图,展示了TCP Server端接收消息的比例:

pie
    title TCP Server Message Distribution
    "Received" : 40
    "Not Received" : 60

结尾

通过以上示例代码,我们可以创建一个简单的TCP Server端,用于接收客户端的消息。在实际应用中,我们可以根据需求对代码进行扩展和优化,以满足特定的需求。希望这篇文章对你有所帮助!