2012-06-20 2 views
0

rmi client server based program을 만들면 pass Image object through remote object interfaces이라고 가정합니다. 클라이언트가 서버에서 이미지를받습니다. java rmi ImageIcon 객체를 전달

다음

는 서버에서

 public class ImageReceiver 
     { 
        public static ImageIcon imageicon; 

        public static void main(String Data[]) 
        { 

         imageicon = new ImageIcon(url); 
         imageicon=remoteObject.getImageFromServer(); 
        } 

     } 
     // The Details regarding the binding of remote objects are excluded since they are worling fine... 

인 sendImage는 인터페이스 메소드가 구현되는 클라이언트에서

...

 public ImageIcon getImageFromServer() throws RemoteException; 

.... 내 코드입니다

지금 문제는 오류가 메신저 사실 내가 그것을 온 방법 어떤 생각을 많이하지 않아도, 지금

  java.rmi.UnmarshalException: error unmarshalling return 
      nested exception is: java.io.EOFException    

라고는 ... 내가 가진 두 가지 주요 의혹은 ...

rmi를 통해 ImageIcon 개체를 보낼 수 있습니까? 그렇다면 여기에 아마도 실수 일 수 있습니다. 그렇지 않으면 rmi를 통해 매개 변수로 이미지 기반 개체를 전달하는 간단한 방법이 있습니까? ??

또한 javax.swing.ImageIcon 시리얼 것을 어딘가에 들었습니다 ....하지만

+0

어떻게 클라이언트와 서버를 실행하고 있습니까? ImageIcon은 Serializable을 구현하여 네트워크를 통해 전송 될 수 있지만 귀하의 경우 직렬화에 문제가있는 것으로 보입니다. ImageIcon의 문서로부터 : "경고 :이 클래스의 직렬화 된 객체는 향후의 Swing 릴리스와 호환되지 않습니다. 현재의 직렬화 지원은 단기간의 저장이나, 같은 버젼의 Swing를 실행하는 어플리케이션 간의 RMI에 적절합니다. 클라이언트와 서버가 같은 버전의 Swing을 사용합니까? – joergl

+0

음 .... 네 ... 로컬 호스트에서 실행 중입니다 ........ –

+0

간단한 실험 :'ImageIcon'을 다른 것으로 바꾸고,'String'을 시도해보십시오. 여전히 같은 예외가 발생합니까? – biziclop

답변

2

같은 문제가 발생 ... 난 이미지 아이콘을 통과하려 할 때 내 경우에는 일이 아니에요 이의 컴파일러는 종종 비 정렬 화 예외를 정확하게 보여줍니다 그런 일이 ... ..... 난을 지정된 URL이 정확 발견 .... 긴 검사 후 .... RMI를 통해

객체 당신이 보여준대로 .......

로컬 URL 확인 .....

+0

당신은 바로 그것을 가지고 .... 나는 작은 URL을 사양했다 ....하지만 여전히 직렬화에 아무런 이유없이 이것이 Unmarshal 예외를 보여준 이유를 이해하지 못한다 ... 나는 믿는다 ... –

+0

잘 .. 나는 그것에 대해 많은 것을 알지 못한다. .. 그냥 가지고있다. .. .. lolz .. –