Java ServerSocket TCP 实例
本文将介绍如何使用 Java 的 ServerSocket 类来创建一个基于 TCP 协议的服务器,并提供一个实例代码来演示其用法。
什么是 TCP/IP 协议
TCP/IP(Transmission Control Protocol/Internet Protocol)是互联网上常用的一种网络协议。TCP 是一种面向连接的、可靠的传输协议,它通过三次握手建立连接,并使用序列号和确认应答机制来保证数据传输的可靠性。IP 是一种网络层协议,负责将数据包从源地址传输到目标地址。
什么是 ServerSocket 类
ServerSocket 类是 Java 中用于创建服务器端套接字的类。它提供了一些方法来监听指定端口上的连接请求,并能够接受客户端发起的连接。一旦建立了连接,就可以通过返回的 Socket 对象与客户端进行通信。
创建一个简单的 TCP 服务器
下面是一个简单的示例代码,展示了如何使用 ServerSocket 类创建一个基于 TCP 协议的服务器:
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
    public static void main(String[] args) {
        try {
            // 创建 ServerSocket 对象并指定监听端口
            ServerSocket serverSocket = new ServerSocket(8888);
           
            // 监听客户端连接请求
            System.out.println("Server is running and waiting for ");
            Socket clientSocket = serverSocket.accept();
            System.out.println("Client connected: " + clientSocket.getInetAddresssocket通信为什么要指定端口().getHostAddress());
           
            // 获取输入流
            InputStream inputStream = clientSocket.getInputStream();
           
            // 读取客户端发送的数据
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                String message = new String(buffer, 0, bytesRead);
                System.out.println("Received message from client: " + message);
            }
           
            // 关闭连接
            inputStream.close();
            clientSocket.close();
            serverSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
在上述示例中,我们首先创建一个 ServerSocket 对象并指定监听的端口号为 8888。然后通过调用 accept() 方法来监听客户端的连接请求,并返回一个 Socket 对象用于与客户端通信。
接下来,我们获取与客户端建立连接后的输入流,并通过循环读取客户端发送的数据。最后,关闭输入流、客户端套接字和服务器套接字。
运行 TCP 服务器
要运行上述示例代码,可以按照以下步骤进行操作:
1.打开命令行终端。
2.编译源代码文件:javac TCPServer.java
3.运行生成的字节码文件:java TCPServer
4.在另一个终端中使用 telnet 命令模拟一个 TCP 客户端并连接到服务器:telnet localhost 8888
5.在 telnet 终端中输入一些文本并按回车键,你将在服务器终端中看到接收到的消息。
结论
通过使用 Java 的 ServerSocket 类,我们可以轻松地创建一个基于 TCP 协议的服务器,并与客户端进行通信。上述示例代码只是一个简单的演示,你可以根据自己的需求进行扩展和修改。
希望本文能够帮助你理解如何使用 ServerSocket 类创建 TCP 服务器,并为你的网络编程提供一些指导。Happy coding!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。