《服务器之间的图片传输 2023-12-19》模拟一台服务器(client)给另外一台服务(server)传输图片
2023-12-20 07:10:17
    		Server
public class PictureTestServer {
    public static void main(String[] args) {
        try (ServerSocket serverSocket = new ServerSocket(0)) {
            System.out.println("服务器已启动,监听端口: " + serverSocket.getLocalPort());
            Socket socket = serverSocket.accept();
            // 读取图片文件
            File file = new File("F:/picture/client/water.webp");
            try (FileInputStream fileInputStream = new FileInputStream(file);
                 DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream())) {
                byte[] buffer = new byte[(int) file.length()];
                fileInputStream.read(buffer);
                // 发送图片文件到客户端
                dataOutputStream.write(buffer, 0, buffer.length);
                System.out.println("图片发送成功");
            }
            // 关闭套接字
            socket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Client
public class PictureTestClient {
    public static void main(String[] args) {
        try {
        // 该端口为Server启动后监听的端口
            Socket socket = new Socket("localhost", 50966);
            // 从服务器接收图片文件
            InputStream inputStream = socket.getInputStream();
            FileOutputStream fileOutputStream = new FileOutputStream("F:/picture/server/water.webp");
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                fileOutputStream.write(buffer, 0, bytesRead);
            }
            System.out.println("图片接收成功");
            // 关闭流和套接字
            fileOutputStream.close();
            inputStream.close();
            socket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
先启动Server监听端口,获取到的端口替换掉Client端口,再启动Client端口
 
 
    			文章来源:https://blog.csdn.net/weixin_44976692/article/details/135084386
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!