📄 server.java
字号:
import com.sun.image.codec.jpeg.JPEGCodec;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.Socket;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class Server extends Thread {
private Dimension screenSize;
private Rectangle rectangle;
private Robot robot;
private String ip = null;
private int port;
public Server() {
screenSize = Toolkit.getDefaultToolkit().getScreenSize();// 得到服务端的屏幕尺寸
rectangle = new Rectangle(screenSize);// 用来指定捕获屏幕区域,全屏
try {
robot = new Robot(); // 用于操作屏幕捕抓
} catch (Exception e) {
e.printStackTrace();
}
}
public void run() {
readConfig();
ZipOutputStream zos = null;
Socket socket = null;
while (true) {
try {
socket = new Socket(ip, port);// 连接远程IP
BufferedImage screenImage = robot.createScreenCapture(rectangle);// 捕获制定屏幕矩形区域
zos = new ZipOutputStream(socket.getOutputStream());// 加入压缩流
zos.setLevel(9);
zos.putNextEntry(new ZipEntry("1.jpg"));
JPEGCodec.createJPEGEncoder(zos).encode(screenImage);// 图像编码成JPEG
zos.close();
} catch (Exception e) {
} finally {
if (zos != null) {
try {
zos.close();
} catch (Exception ioe) {
}
}
if (socket != null) {
try {
socket.close();
} catch (IOException e) {
}
}
}
}
}
public void readConfig() {
try {
FileReader fileReader = new FileReader("config.ini");
String ip = (new BufferedReader(fileReader)).readLine();
System.out.println(ip);
this.ip = ip.substring(0, ip.lastIndexOf(":"));
port = Integer.parseInt(ip.substring(ip.lastIndexOf(":") + 1));
System.out.println(this.ip + "\n" + port);
} catch (FileNotFoundException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
public static void main(String[] args) {
new Server().start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -