相关疑难解决方法(0)

如何通过套接字发送图像对象?

我想通过套接字发送图像对象...不想将图像存储在发送者或接收者计算机中...

java

3
推荐指数
1
解决办法
1万
查看次数

通过套接字发送图像

我最近正在尝试创建一个程序,就像teamviewer一样。进展还算顺利,但我目前面临一个问题。

我试图让我的程序通过套接字发送图像。当我运行这段代码时,它从不输出“应该发送图像!”,所以我认为问题出在 ImageIO.write 行中。

BufferedImage screencapture = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
try {
    ImageIO.write(screencapture, "jpg", socket.getOutputStream());
    System.out.println("Image should be sent!");
} catch (IOException ex){
    ex.printStackTrace();
} finally {
    if ( socket != null ){
        try { socket.close(); } catch (IOException ex){}
    }
    System.out.println("Image sent and socket closed!");
}
Run Code Online (Sandbox Code Playgroud)

另一边还有一个客户端,消耗上面代码发送的数据。执行此操作的代码是:

BufferedImage image = ImageIO.read(socket.getInputStream());
JLabel label = new JLabel(new ImageIcon(image));
f.getContentPane().add(label);
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,这段代码有什么问题,我该如何使它工作?

java sockets

3
推荐指数
1
解决办法
4202
查看次数

标签 统计

java ×2

sockets ×1