Java Socket通信客户端与服务器代码详解

2025-01-01 23:22:22   小编

Java Socket通信客户端与服务器代码详解

在Java编程中,Socket通信是实现网络应用的重要方式之一。它允许不同计算机之间通过网络进行数据传输和通信。本文将详细介绍Java Socket通信的客户端与服务器代码。

首先来看服务器端代码。在Java中,创建一个服务器需要使用ServerSocket类。以下是一个简单的服务器端示例代码:

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args) {
        try {
            ServerSocket serverSocket = new ServerSocket(8888);
            System.out.println("服务器启动,等待客户端连接...");
            Socket socket = serverSocket.accept();
            InputStream in = socket.getInputStream();
            byte[] buffer = new byte[1024];
            int len = in.read(buffer);
            String message = new String(buffer, 0, len);
            System.out.println("收到客户端消息:" + message);
            OutputStream out = socket.getOutputStream();
            out.write("服务器已收到消息".getBytes());
            socket.close();
            serverSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这段代码创建了一个监听在8888端口的服务器,等待客户端连接。当客户端连接后,接收客户端发送的消息并回复。

接下来是客户端代码:

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class Client {
    public static void main(String[] args) {
        try {
            Socket socket = new Socket("localhost", 8888);
            OutputStream out = socket.getOutputStream();
            out.write("你好,服务器".getBytes());
            InputStream in = socket.getInputStream();
            byte[] buffer = new byte[1024];
            int len = in.read(buffer);
            String message = new String(buffer, 0, len);
            System.out.println("收到服务器回复:" + message);
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

客户端代码连接到服务器,发送消息并接收服务器的回复。

在实际应用中,可以根据需求对代码进行扩展和优化,例如添加多线程处理多个客户端连接等。通过掌握Java Socket通信的客户端与服务器代码,能够开发出各种网络应用程序。

TAGS: 代码详解 Java Socket 客户端代码 服务器代码

欢迎使用万千站长工具!

Welcome to www.zzTool.com