当前位置: 代码迷 >> Java相关 >> [求助]java远程监控,可以看到远程计算机的操作
  详细解决方案

[求助]java远程监控,可以看到远程计算机的操作

热度:115   发布时间:2007-05-10 13:34:48.0
[求助]java远程监控,可以看到远程计算机的操作

我见到网上java远程监控,可以看到远程计算机的操作的程序,源代码如下,但不能运行,怎么回事?
高手能否赐教?其中这两句os.putNextEntry(new ZipEntry("1.jpg")); JPEGCodec.createJPEGEncoder(os).encode(image);是什么意思?前后都没有“1.jpg”呀,是不是作者写错啦?
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ShellServer extends Thread{
private Dimension screenSize;
private Rectangle rectangle;
private Robot robot;
private JPEGImageEncoder encoder;

public ShellServer() {
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
rectangle = new Rectangle(screenSize);
try{
robot = new Robot();
}catch(Exception e){
e.printStackTrace();
System.out.println(e);
}
}
public void run(){
ZipOutputStream os = null;
Socket socket=null;
while (true){
try{
socket = new Socket("10.124.10.127",5000);
BufferedImage image = robot.createScreenCapture(rectangle);
os = new ZipOutputStream(socket.getOutputStream());
// os = new ZipOutputStream(new FileOutputStream("D:/1.zip"));

os.setLevel(9);


os.putNextEntry(new ZipEntry("1.jpg"));//此处“ 1jpg”是什么?前后都没出现呀?
JPEGCodec.createJPEGEncoder(os).encode(image);//此处是图形编码成JPEG吗?有什么用?
//上面两句出错,不知怎么回事?????????????


os.close();
Thread.sleep(1000);

}catch(Exception e){
e.printStackTrace();
}finally{
if(os!=null){
try{
os.close();
}catch(Exception ioe){}
}
if(socket!=null){
try {
socket.close();
} catch (IOException e) {
}
}
}
}
}
public static void main(String[] args) {
new ShellServer().start();
}
}


搜索更多相关的解决方案: java  import  计算机  awt  源代码  

----------------解决方案--------------------------------------------------------
os.putNextEntry(new ZipEntry("1.jpg"));//此处“ 1jpg”是什么?前后都没出现呀?

猜想应该是抓的图片,然后打成压缩包(new ZipEntry是建立压缩文件用的)

JPEGCodec.createJPEGEncoder(os).encode(image);//此处是图形编码成JPEG吗?有什么用?
创建图片


----------------解决方案--------------------------------------------------------
如果JPEGCodec.createJPEGEncoder(os).encode(image);是创建图片,它应在 os.putNextEntry(new ZipEntry("1.jpg"));这句之前呀? os.putNextEntry(new ZipEntry("1.jpg"));这句不是发向客户端吗?
BufferedImage image = robot.createScreenCapture(rectangle);这句应是抓图片的呀,image应是抓的图片呀,它怎么专成“1.jpg”的?

[此贴子已经被作者于2007-5-11 11:02:01编辑过]


----------------解决方案--------------------------------------------------------

"1.jpg"是打进ZIP包的文件名,

你这段程序没有发送,就是一个1秒截一次图,然后打包。。。

网上大部份代码都是这样的,一估代码转来转去很多都不全不能运行,你搞明白怎么回事就可以了。。

你可以自己做,服务器把这个ZIP发过去,到客户端去再解压,读这个图片显示。


----------------解决方案--------------------------------------------------------
就算没有发送不发送就是啦,它不该出错呀,这两句出错是怎么回事?
----------------解决方案--------------------------------------------------------
出什么错?
----------------解决方案--------------------------------------------------------
以下是引用tongxiling在2007-5-11 10:58:48的发言:
如果JPEGCodec.createJPEGEncoder(os).encode(image);是创建图片,它应在 os.putNextEntry(new ZipEntry("1.jpg"));这句之前呀? os.putNextEntry(new ZipEntry("1.jpg"));这句不是发向客户端吗?
BufferedImage image = robot.createScreenCapture(rectangle);这句应是抓图片的呀,image应是抓的图片呀,它怎么专成“1.jpg”的?

生成一个入口,叫1.jpg不就可以了吗


----------------解决方案--------------------------------------------------------
能否详细点,怎样生成一个入口呀?
----------------解决方案--------------------------------------------------------
高手们怎么不来啦?
----------------解决方案--------------------------------------------------------
  相关解决方案