如何通过套接字发送图像

时间:2012-06-24 05:57:58

标签: java sockets tcpclient

我正在尝试创建一个服务器 - 客户端模型,服务器可以在其中查看客户端在其系统上正在执行的操作。我想通过套接字(skt)捕获并发送图像。如何显示服务器收到的图像。

客户线程:

screenShot = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                    ImageIO.write(screenShot, "PNG", skt.getOutputStream());

服务器线程:

                BufferedImage image = ImageIO.read(connarray.get(0).getInputStream());
                Graphics g = image.getGraphics();
                g.drawImage(image, 500, 500, null);

1 个答案:

答案 0 :(得分:0)

你这里没有提出实际问题,但我可以做一些观察。

  1. 您的客户端和服务器代码都在捕获并且压缩异常。如果客户端或服务器端抛出任何异常,您的代码将丢弃所有证据。变化

        } catch(Exception ew) { }
    

        } catch(Exception ew) { ew.printStackTrace(); }
    

    如果有异常被抛出,这将告诉你它们是什么。 (在生产代码中,您应该记录异常而不是调用printStackTrace(...) ...但这是以后的教训。)

  2. 每隔1/10秒截取一次屏幕截图会在客户端和服务器端产生大量负载。

  3. 现有(非Java)工具可用于此类工作。