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 시리얼 것을 어딘가에 들었습니다 ....하지만
어떻게 클라이언트와 서버를 실행하고 있습니까? ImageIcon은 Serializable을 구현하여 네트워크를 통해 전송 될 수 있지만 귀하의 경우 직렬화에 문제가있는 것으로 보입니다. ImageIcon의 문서로부터 : "경고 :이 클래스의 직렬화 된 객체는 향후의 Swing 릴리스와 호환되지 않습니다. 현재의 직렬화 지원은 단기간의 저장이나, 같은 버젼의 Swing를 실행하는 어플리케이션 간의 RMI에 적절합니다. 클라이언트와 서버가 같은 버전의 Swing을 사용합니까? – joergl
음 .... 네 ... 로컬 호스트에서 실행 중입니다 ........ –
간단한 실험 :'ImageIcon'을 다른 것으로 바꾸고,'String'을 시도해보십시오. 여전히 같은 예외가 발생합니까? – biziclop