package img_send;
import javax.imageio.ImageIO;
import javax.imageio.stream.ImageOutputStream;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.Socket;
/**
* Created by user on 4/8/14.
*/
public class sender {
boolean audiotemp;
boolean stopall=true;
int videochoise=1;
sender() {
try{
Thread snd = new Thread(new sendImage("localhost",4000,"sender","sender1"));
snd.start();
}catch (Exception ex){
ex.printStackTrace();
}
}
public class sendImage extends Thread {
private static final int MAX_IMAGE_SIZE = 50 * 1024 * 1024;
Robot robot;
BufferedOutputStream snd;
ImageOutputStream out;
PrintWriter pr1;
ImageIcon img;
String ipc;
int portc;
String typec;
String detailsc;
Socket videoSock;
private BufferedImage resizeImage(BufferedImage originalImage, int type, int IMG_WIDTH, int IMG_HEIGHT) {
BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();
return resizedImage;
}
public sendImage(String ip, int port, String type, String details) throws Exception {
ipc = ip;
portc = port;
typec = type;
detailsc = details;
}
@Override
public void run() {
try {
videoSock = new Socket(ipc, portc);
BufferedReader br1 = new BufferedReader(new InputStreamReader(videoSock.getInputStream()));
int port1 = Integer.parseInt(br1.readLine());
System.out.print(port1);
videoSock = new Socket(ipc, port1);
System.out.print("desktop client");
InputStreamReader stream = new InputStreamReader(videoSock.getInputStream());
br1 = new BufferedReader(stream);
pr1 = new PrintWriter(videoSock.getOutputStream());
pr1.println("sender");
pr1.flush();
pr1.println("desktop");
pr1.flush();
pr1.println("detail");
pr1.flush();
out = ImageIO.createImageOutputStream(new BufferedOutputStream(videoSock.getOutputStream(), MAX_IMAGE_SIZE));
robot = new Robot();
} catch (Exception e) {
e.printStackTrace();
}
// while (!audiotemp) {
// try {
// Thread.sleep(100);
// } catch (InterruptedException ex) {
// ex.printStackTrace();
// }
// }
STOPSENDIMAGE:
while (true) {
if (stopall) {
switch (videochoise) {
case 1:
try { //1,1,50,50));//
BufferedImage screenShot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
// BufferedImage screenShot = (BufferedImage) robot.createScreenCapture(new Rectangle(130, 55, 630, 430));
ImageIO.write(screenShot, "jpg", out);
System.out.println("DESK image send");
out.flush();
this.sleep(100);
break;
} catch (Exception e) {
e.printStackTrace();
}
break;
case 3:
System.out.println("Default");
}
} else {
//
break STOPSENDIMAGE;
}
}
System.out.println("++++++++Out of while DESKTOP+++++++++++");
try {
videoSock.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
// ================================================================================================
public static void main(String s[]){
sender sr=new sender();
}
}
import javax.imageio.ImageIO;
import javax.imageio.stream.ImageOutputStream;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.Socket;
/**
* Created by user on 4/8/14.
*/
public class sender {
boolean audiotemp;
boolean stopall=true;
int videochoise=1;
sender() {
try{
Thread snd = new Thread(new sendImage("localhost",4000,"sender","sender1"));
snd.start();
}catch (Exception ex){
ex.printStackTrace();
}
}
public class sendImage extends Thread {
private static final int MAX_IMAGE_SIZE = 50 * 1024 * 1024;
Robot robot;
BufferedOutputStream snd;
ImageOutputStream out;
PrintWriter pr1;
ImageIcon img;
String ipc;
int portc;
String typec;
String detailsc;
Socket videoSock;
private BufferedImage resizeImage(BufferedImage originalImage, int type, int IMG_WIDTH, int IMG_HEIGHT) {
BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();
return resizedImage;
}
public sendImage(String ip, int port, String type, String details) throws Exception {
ipc = ip;
portc = port;
typec = type;
detailsc = details;
}
@Override
public void run() {
try {
videoSock = new Socket(ipc, portc);
BufferedReader br1 = new BufferedReader(new InputStreamReader(videoSock.getInputStream()));
int port1 = Integer.parseInt(br1.readLine());
System.out.print(port1);
videoSock = new Socket(ipc, port1);
System.out.print("desktop client");
InputStreamReader stream = new InputStreamReader(videoSock.getInputStream());
br1 = new BufferedReader(stream);
pr1 = new PrintWriter(videoSock.getOutputStream());
pr1.println("sender");
pr1.flush();
pr1.println("desktop");
pr1.flush();
pr1.println("detail");
pr1.flush();
out = ImageIO.createImageOutputStream(new BufferedOutputStream(videoSock.getOutputStream(), MAX_IMAGE_SIZE));
robot = new Robot();
} catch (Exception e) {
e.printStackTrace();
}
// while (!audiotemp) {
// try {
// Thread.sleep(100);
// } catch (InterruptedException ex) {
// ex.printStackTrace();
// }
// }
STOPSENDIMAGE:
while (true) {
if (stopall) {
switch (videochoise) {
case 1:
try { //1,1,50,50));//
BufferedImage screenShot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
// BufferedImage screenShot = (BufferedImage) robot.createScreenCapture(new Rectangle(130, 55, 630, 430));
ImageIO.write(screenShot, "jpg", out);
System.out.println("DESK image send");
out.flush();
this.sleep(100);
break;
} catch (Exception e) {
e.printStackTrace();
}
break;
case 3:
System.out.println("Default");
}
} else {
//
break STOPSENDIMAGE;
}
}
System.out.println("++++++++Out of while DESKTOP+++++++++++");
try {
videoSock.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
// ================================================================================================
public static void main(String s[]){
sender sr=new sender();
}
}