2014-04-28 2 views
0

작은 프로그램을 코딩하고 클라이언트가 인쇄 화면을 찍은 다음 이미지가 연결된 서버로 보내길 원합니다.Java 클라이언트에서 서버로 이미지를 보내십시오.

클라이언트 코드를 수정합니다. 여기

public void run() 
{ 
    while(true) 
    { 
     Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); 
     BufferedImage PrintScreen = robot.createScreenCapture(screenRect); 
     //what do I do here?!?!?! 
     try { 
      Thread.sleep(2000); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 

그리고

public void run() 
{ 
    while(true) 
    { 
     //Read image sent from client. 


     //Sleep shit 
     try 
     { 
      Thread.sleep(2000); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

잘하면 당신이 나를 도울 수있는 서버 코드입니다. 나는 내 대답을 얻기 위해 구글에 노력했지만 실제로 이해할 수없는 것들이있다. 사람들이 이미지를 바이트 배열로 변환하는 것을 보았습니다. 왜이 일을해야합니까?

+0

소켓 연결을 설정하고 이미지를 바이트 배열로 보내야합니다. 아직 소켓에 대해 알지 못했다면 파일 전송을 시작하기 전에 간단한 데이터 전송으로 읽는 것이 좋습니다. –

+0

나는 그것을 이미 마쳤다. 단지 보내고 데이터를 얻을 스레드를 보여 주었다. – Shroom

+0

이미지를 바이트 배열로 읽어 들여 바이트 배열의 길이를 서버에 전송하여 예상 데이터 양을 알 수 있도록 한 다음 서버가 8192 바이트를 기다리거나 파일에 쓰거나 8192를 기다린 후 쓰기 ... 파일 크기가 클라이언트가 보낸 크기와 같을 때까지이를 반복하십시오. –

답변

0

난 당신이 서버 측에서 이미지를 만드는 방법을 볼 수 BufferedImage는 (그것으로 문제가있는 경우) 클라이언트에서 서버로 데이터를 전송하는 방식을 볼 수, This를 스트림 경쟁 전송하고 this하는 방법을보고, This을 읽어 보는 것이 좋습니다 .

관련 문제