Java 如何通过套接字发送图像

Java 如何通过套接字发送图像,java,sockets,tcpclient,Java,Sockets,Tcpclient,我正在尝试创建一个服务器-客户机模型,在该模型中,服务器可以看到客户机在其系统上执行的操作。我想通过套接字(skt)捕获并发送图像。如何显示服务器接收到的图像 screenShot = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); ImageIO.write(screenShot, "PNG", skt.getOutp

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

screenShot = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                    ImageIO.write(screenShot, "PNG", skt.getOutputStream());
客户端线程:

screenShot = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                    ImageIO.write(screenShot, "PNG", skt.getOutputStream());
服务器线程:

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);

你在这里不会问一个实际的问题,但我可以做一些观察

screenShot = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                    ImageIO.write(screenShot, "PNG", skt.getOutputStream());
  • 客户端和服务器代码都在捕获和挤压异常。如果客户端或服务器端抛出了任何异常,那么代码将丢弃所有证据。改变

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

    screenShot = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                        ImageIO.write(screenShot, "PNG", skt.getOutputStream());
    
    如果抛出异常,这将告诉您它们是什么。(在生产代码中,您可能应该记录异常,而不是调用
    printStackTrace(…)
    …但这是后面的教训。)

  • screenShot = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                        ImageIO.write(screenShot, "PNG", skt.getOutputStream());
    
  • 每十分之一秒拍摄一次屏幕截图将在客户端和服务器端产生大量负载

  • screenShot = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
                        ImageIO.write(screenShot, "PNG", skt.getOutputStream());
    
  • 有一些现有的(非Java)工具可以做这种事情

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

    我将这个程序作为netbeans中的GUI来制作。我不知道你在问什么。。。发生了什么你需要帮助的事情吗?你有错误吗?这个问题不是很清楚。实际上我无法在服务器端显示接收到的图像。你能给我详细的代码和解释如何在标签或类似的东西中显示收到的图像吗。