![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CORBA - клиент не видит сервер в другой подсетке
lionson © (2005-06-16 11:56:00)Доброго всем времени суток
Такая ситуация. Сервер запущен в сети 192.168.1.
Клинет в сети 192.168.2.
С роутингом все нормально, машины прекрасно друг друга видя, пингуются
ВИзиброкер выключен
на стороне клиента, при бинде сервера, расположение указываю в глухую
myobject:=TmyserverHelper.Bind('my','192.168.1.1');
Если клиент запущен в той же сети, что и сервер, то все нормально - он коннектится к сервреу. Если же в другой... кирдык, говорит "не нахожу серверный объект". Это не реализовано в принципе?
Обязательно ставить на шлюзе Осагент? А если шлюз не машина, а аппаратный?
Кто нить сталкиваося с таким?
leonov (2005-09-21 17:55:00) [1]Кстати.
В этом коде
myobject:=TmyserverHelper.Bind('my','192.168.1.1');
указывается не расположение объекта, а то, что, если найден объект my, то он должен распологаться на указанном адресе. Используется, по крайней мере мной, только для отладки. Когда в сети есть более одного объекта, и мне требуется работать с объектом, находящимся на конкретном сервере.
leonov (2005-09-21 17:48:00) [2]Известное дело.
Если не хочется заморачиваться с настройками Gateway для OsAgent, то лучше всего сделать так:
либо добавить в командную строку параметры
-Dvbroker.agent.addr=192.168.1.1
-Dvbroker.agent.port=14000
либо, что мне нравится больше, правильно проинициализировать подсистему CORBA в приложении:
var
_OrbInitParam: TCommandLine;
...
SetLength(_OrbInitParam, 2);
_OrbInitParam[0] := '-Dvbroker.agent.addr=192.168.1.1';
_OrbInitParam[1] := '-Dvbroker.agent.port=14000';
TORB.Init(_OrbInitParam);
инициализацию нужно проводить как можно раньше.