在 Java 中,可以使用 Socket 传输图片。以下是一个示例代码,演示如何使用 Socket 传输图片:

  1. 服务端代码:
import java.io.*;
import java.net.*;

public class Server {
    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(12345);
        System.out.println('等待客户端连接...');

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

        InputStream inputStream = socket.getInputStream();
        FileOutputStream fileOutputStream = new FileOutputStream('received_image.jpg');

        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = inputStream.read(buffer)) != -1) {
            fileOutputStream.write(buffer, 0, bytesRead);
        }

        fileOutputStream.close();
        inputStream.close();
        serverSocket.close();
    }
}
  1. 客户端代码:
import java.io.*;
import java.net.*;

public class Client {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket('localhost', 12345);

        File file = new File('image.jpg');
        FileInputStream fileInputStream = new FileInputStream(file);
        OutputStream outputStream = socket.getOutputStream();

        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = fileInputStream.read(buffer)) != -1) {
            outputStream.write(buffer, 0, bytesRead);
        }

        outputStream.close();
        fileInputStream.close();
        socket.close();
    }
}

在上述示例代码中,服务端通过 ServerSocket 监听 12345 端口,并等待客户端连接。一旦客户端连接成功,服务端将从 Socket 的 InputStream 中读取数据,并将数据写入文件中。

客户端通过 Socket 连接到服务端的 12345 端口,并从文件中读取数据,然后通过 Socket 的 OutputStream 将数据发送给服务端。

这样,客户端就成功将图片文件传输给了服务端。服务端接收到数据后,将其保存为 received_image.jpg 文件。


原文地址: https://www.cveoy.top/t/topic/qsav 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录