Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> rmi запуск клиента и сервера на разных машинах 
:(
    Опции темы
yoghurt92
Дата 15.5.2014, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.5.2014

Репутация: нет
Всего: нет



Доброго времени суток! начал изучение rmi и столкнулся с такой проблемой, при запуске на одной машине как клиента, так и сервера, все прекрасно работает. Но при попытке сделать тоже на разных машинах, я терплю неудачу. Буду благодарен за любую помощь  smile 

Вот код интерфейса:

Код

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Hello extends Remote {
    
    public String sayHello() throws RemoteException;
}


теперь код клиента:

Код

import java.rmi.*;

public class Client {

    public static void main(String[] args) {
        
        new Client().go();
    }

    public void go() {
        
        try {
            Hello service = (Hello) Naming.lookup("rmi://192.168.0.101/HelloFromServer");
            
            String s = service.sayHello();
            System.out.println(s);
        }
        catch(Exception exc) {
            exc.printStackTrace();
        }
    }

}


192.168.0.101 - ip сервера машины, на которой запускается серверная программа (ось - Ubuntu)

теперь собственно код сервера:

Код

import java.rmi.*;
import java.rmi.server.*;

public class Server extends UnicastRemoteObject implements Hello {

    
    public Server() throws RemoteException {

    }

    public static void main(String[] args) {
        
        try {
            Hello service = new Server();
            Naming.rebind("HelloFromServer", service);
        }
        catch(Exception exc) {
            exc.printStackTrace();
        }
    }

    @Override
    public String sayHello() throws RemoteException {
        
        return "Server say 'Hello'";
    }

}


естественно на стороне сервера запускаю rmic для получения файла  заглушки, затем регистрирую rmiregistry & и уже затем запускаю сервер. И при попытке получения файла клиентом получаю следующие ошибки

user posted image
PM MAIL   Вверх
JDmitry
Дата 21.5.2014, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.3.2009

Репутация: нет
Всего: нет



Для подключения к RMI клиент должен иметь заглушку (stub объект), в котором описано как работать с сервером.
Его можно создать с помощью программы rmic, входящий в состав JDK. Вы получите файл Server_Stub.class, который нужно поместить в classpath клиента. Тогда клиент сможет работать с сервером
PM MAIL   Вверх
yoghurt92
Дата 21.5.2014, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.5.2014

Репутация: нет
Всего: нет



спасибо, уже разобрался)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0949 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.