21xrx.com
2024-11-25 00:19:11 Monday
登录
文章检索 我的文章 写文章
Java Socket多张图片发送
2023-07-06 20:08:24 深夜i     --     --
Java Socket 多张图片 发送

在日常开发中,我们经常需要发送图片和其他媒体类型的文件。使用Java的Socket技术可以轻松完成数据传输。本篇文章主要介绍如何使用Java Socket发送多张图片。

步骤如下:

1.服务器端:

①创建ServerSocket对象,指定端口号。

ServerSocket serverSocket = new ServerSocket(8088);

②创建Socket对象并接受客户端的请求,获取InputStream对象。

Socket socket = serverSocket.accept();

InputStream inputStream = socket.getInputStream();

③接收客户端发送的图片并保存到本地。

OutputStream outputStream = new FileOutputStream("E:\\image\\" + fileName);

byte[] bytes = new byte[1024 * 8];

int len;

while ((len = inputStream.read(bytes)) != -1) {

  outputStream.write(bytes, 0, len);

}

outputStream.close();

inputStream.close();

④关闭Socket和ServerSocket。

socket.close();

serverSocket.close();

2.客户端:

①创建Socket对象,指定IP地址和端口号。

Socket socket = new Socket("127.0.0.1", 8088);

②获取OutputStream对象。

OutputStream outputStream = socket.getOutputStream();

③遍历文件夹中的图片文件,读取并发送数据。

File file = new File("E:\\image");

File[] fileList = file.listFiles();

for (int i = 0; i < fileList.length; i++) {

  if (fileList[i].isFile()) {

    String fileName = fileList[i].getName();

    FileInputStream fileInputStream = new FileInputStream(fileList[i]);

    byte[] bytes = new byte[1024 * 8];

    int len;

    while ((len = fileInputStream.read(bytes)) != -1) {

      outputStream.write(bytes, 0, len); 

    }

    fileInputStream.close();

  }

}

④关闭Socket。

socket.close();

以上就是使用Java Socket发送多张图片的步骤,需要注意的是,在客户端发送数据时,需要循环发送每张图片,而在服务器端接收数据时,需要根据不同的文件名进行保存,避免文件名重复导致数据覆盖。同时,还需要对数据进行合法性校验和异常处理。

总之,Java Socket是一种强大的网络编程技术,可以实现复杂的数据传输和通信功能。在日常开发中,我们可以根据具体的业务需求进行灵活的应用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复