0

私は、サーバーがクライアントがシステム上で何をしているかを確認できるサーバークライアントモデルを作成しようとしています。ソケット(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);
4

1 に答える 1

0

ここでは実際の質問はしませんが、いくつかの観察を行うことができます。

  1. クライアントとサーバーの両方のコードが例外をキャッチして押しつぶしています。クライアント側またはサーバー側で例外がスローされた場合、コードはすべての証拠を破棄しています。変化する

        } catch(Exception ew) { }
    

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

    スローされる例外がある場合、これはそれらが何であるかを教えてくれます。(本番コードでは、...を呼び出す代わりに、おそらく例外をログに記録する必要がありprintStackTrace(...)ますが、それは後のレッスンです。)

  2. 1/10秒ごとにスクリーンショットを撮ると、クライアント側とサーバー側に多くの負荷がかかります。

  3. この種のことを行うための既存の(Java以外の)ツールがあります。

于 2012-06-24T06:30:18.307 に答える