《服务器之间的图片传输 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进行投诉反馈,一经查实,立即删除!