Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > RPC


Автор: Autogen 5.9.2005, 09:53
Вобщем постараюсь в кратце объяснить суть проблемы.
Есть две проги, первая оформлена как сервис, и является RPC сервером, прослушка идёт по TCP по заданому порту. Вторая позволяет управлять настройками первой (порт и ещё кой чего)
Вобщем трабла такая, стартуем сервис, он открывает прослушку всё гуд, но когда я пытаюсь поменять порт из настроечной проги он, почему то, честно открывает прослушку на новом но не закрывает на страром.
работа с RPC идёт по следующей схеме
1) задаём параметры прослушки RpcServerUseProtseqEp
2) региструем сервис RpcServerRegisterIf
3) ставим на блокирующую прослушку RpcServerListen
4) если засекли что надо поменять порт останавливаем прослушку RpcMgmtStopServerListening
5) разрегистрируем сервер RpcServerUnregisterIf
6) повторяем цикл
модель сервера оформлена в двух потоках, первый главный, непосредственно поток сервиса, который отслеживает, что настройки надо поменять и вызывает RpcMgmtStopServerListening (ну и управляет работой дочернего потока). И дочерний поток в котором идёт регистрация, блокирующая прослушка и разрегистрация.
Есть идеи что я делаю не так при закрытии прослушки?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)