Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > .Net Remoting Как корректно узнать наличие сервера


Автор: DEER 1.10.2008, 17:24
Добрый день. Собственно сабж.

Немного поясню. Есть сервер, есть клиент
В клиенте юзер може выбирать с каким сервером он будет работать. Список IP серверов загружается из БД.
Вот. надо проверить активн ли в данным момент сервер. (запущено ли на том компьютере серверное приложение)
Сейчас это вглядит так
Код

        public static bool IsServerExists(string ip)
        {
            bool fl = true;
            try
            {
                IConfigurator configurator =
                    (IConfigurator)Activator.GetObject(typeof(IConfigurator), "tcp://" + ip + @":4000/" + URI);
                configurator.DoAction(TEST_ID, ReaderAction.Alarm);
            }
            catch (SocketException)
            {
                fl = false;
            }
            catch (RemotingException)
            {
                fl = false;
            }
            catch (Exception)
            {
                fl = false;
            }
            return fl;

        }

собственно IConfigurator - это серверный объект. Если вылетел экзепшн, то сервер недоступен. Но такая операция занимает очень много времени (Секунд 5), а это много.
Вот и хотел поинтересоваться, можно ли как то по другому узнать? 

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