Проблема с вызовом метода удаленного сервера.
От: iyusov  
Дата: 30.09.02 09:16
Оценка:
Есть проблема. Создаю экземпляр удаленного сервера, вызываю его методы, затем отсоединяюсь. После этого не перегружаю клиента опять создаю новый экземпляр и пытаюсь вызвать любой его метод. В ответ получаю hRes = 0x800706a7, что рачшифровывается как "последовательность протокола RPC не поддерживается". При этом вызов до метода сервера не доходит. А если клиент и сервер на одной машине, то все хорошо (как оно обычно и бывает). Если кто может, помогите.
Re: Проблема с вызовом метода удаленного сервера.
От: MaximE Великобритания  
Дата: 30.09.02 09:22
Оценка:
Здравствуйте iyusov, Вы писали:

I>Есть проблема. Создаю экземпляр удаленного сервера, вызываю его методы, затем отсоединяюсь. После этого не перегружаю клиента опять создаю новый экземпляр и пытаюсь вызвать любой его метод. В ответ получаю hRes = 0x800706a7, что рачшифровывается как "последовательность протокола RPC не поддерживается". При этом вызов до метода сервера не доходит. А если клиент и сервер на одной машине, то все хорошо (как оно обычно и бывает). Если кто может, помогите.


С каким ключом у тебя регистрируется объект класса в сервере? Случайно не с REGCLS_SINGLEUSE?
Re[2]: Проблема с вызовом метода удаленного сервера.
От: iyusov  
Дата: 30.09.02 09:30
Оценка:
Здравствуйте MaximE, Вы писали:

ME>Здравствуйте iyusov, Вы писали:


I>>Есть проблема. Создаю экземпляр удаленного сервера, вызываю его методы, затем отсоединяюсь. После этого не перегружаю клиента опять создаю новый экземпляр и пытаюсь вызвать любой его метод. В ответ получаю hRes = 0x800706a7, что рачшифровывается как "последовательность протокола RPC не поддерживается". При этом вызов до метода сервера не доходит. А если клиент и сервер на одной машине, то все хорошо (как оно обычно и бывает). Если кто может, помогите.


ME>С каким ключом у тебя регистрируется объект класса в сервере? Случайно не с REGCLS_SINGLEUSE?

нет.регистрится так: _Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE | REGCLS_SUSPENDED);, что подверждается одновременной работой двух клиетнтов с двумя разными объектами
Re: Проблема с вызовом метода удаленного сервера.
От: Tom Россия http://www.RSDN.ru
Дата: 30.09.02 09:31
Оценка:
Здравствуйте iyusov, Вы писали:

I>Есть проблема. Создаю экземпляр удаленного сервера, вызываю его методы, затем отсоединяюсь.

А что значит отсоединяюсь ?
Народная мудрось
всем все никому ничего(с).
Re[3]: Проблема с вызовом метода удаленного сервера.
От: iyusov  
Дата: 30.09.02 09:32
Оценка:
Здравствуйте iyusov, Вы писали:

I>Здравствуйте MaximE, Вы писали:


ME>>Здравствуйте iyusov, Вы писали:


I>>>Есть проблема. Создаю экземпляр удаленного сервера, вызываю его методы, затем отсоединяюсь. После этого не перегружаю клиента опять создаю новый экземпляр и пытаюсь вызвать любой его метод. В ответ получаю hRes = 0x800706a7, что рачшифровывается как "последовательность протокола RPC не поддерживается". При этом вызов до метода сервера не доходит. А если клиент и сервер на одной машине, то все хорошо (как оно обычно и бывает). Если кто может, помогите.


ME>>С каким ключом у тебя регистрируется объект класса в сервере? Случайно не с REGCLS_SINGLEUSE?

I>нет.регистрится так: _Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE | REGCLS_SUSPENDED);, что подверждается одновременной работой двух клиетнтов с двумя разными объектами

кажется надо добавить флажок CLSCTX_REMOTE_SERVER
Re[2]: Проблема с вызовом метода удаленного сервера.
От: iyusov  
Дата: 30.09.02 09:40
Оценка:
Здравствуйте Tom, Вы писали:

Tom>Здравствуйте iyusov, Вы писали:


I>>Есть проблема. Создаю экземпляр удаленного сервера, вызываю его методы, затем отсоединяюсь.

Tom>А что значит отсоединяюсь ?
Последовательность такая:
IStationServer* p;
CoCreateInstanceEx(..., &p); //тут через MULTI_QI
p->Connect(); // это метод этого сервера
....
p->SomeCalls...
.......
p->Disconnect();
p->Release();

а потом опять создаю p, и при вызове первого же метода получаю 0x800706a7
Re[3]: Проблема с вызовом метода удаленного сервера.
От: MaximE Великобритания  
Дата: 01.10.02 19:45
Оценка:
Здравствуйте iyusov, Вы писали:

I>Здравствуйте Tom, Вы писали:


Tom>>Здравствуйте iyusov, Вы писали:


I>>>Есть проблема. Создаю экземпляр удаленного сервера, вызываю его методы, затем отсоединяюсь.

Tom>>А что значит отсоединяюсь ?
I>Последовательность такая:
I>IStationServer* p;
I>CoCreateInstanceEx(..., &p); //тут через MULTI_QI
p->>Connect(); // это метод этого сервера
I>....
p->>SomeCalls...
I>.......
p->>Disconnect();
p->>Release();

I>а потом опять создаю p, и при вызове первого же метода получаю 0x800706a7


Разобрался уже, али нет?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.