Есть сервер, который рассылает клиентам некую информацию, соответственно есть клиенты, которые это информацию получают. Нужно предусмотреть возможность включения клиента раньше сервера. Если клиент включился раньше сервера, то при включении, сервер должен оповестить всех клиентов о том, что он доступен. Т.е. что-то типа отложенной инициализации. Возможно ли, такой сценарий реализовать с помощью Remoting, если да то как. Какие еще технологии можно использовать.
Заранее спасибо
Здравствуйте, Tay7er, Вы писали:
T>Есть сервер, который рассылает клиентам некую информацию, соответственно есть клиенты, которые это информацию получают. Нужно предусмотреть возможность включения клиента раньше сервера. Если клиент включился раньше сервера, то при включении, сервер должен оповестить всех клиентов о том, что он доступен. Т.е. что-то типа отложенной инициализации. Возможно ли, такой сценарий реализовать с помощью Remoting, если да то как.
сомневаюсь.
T>Какие еще технологии можно использовать.
Можно использовать рассылку широковещательных паектов по протоколу UDP, но до клиентов за прокси это не дойдет.
T>Заранее спасибо
Здравствуйте, Tay7er, Вы писали:
T>Есть сервер, который рассылает клиентам некую информацию, соответственно есть клиенты, которые это информацию получают. Нужно предусмотреть возможность включения клиента раньше сервера. Если клиент включился раньше сервера, то при включении, сервер должен оповестить всех клиентов о том, что он доступен. Т.е. что-то типа отложенной инициализации. Возможно ли, такой сценарий реализовать с помощью Remoting, если да то как. Какие еще технологии можно использовать. T>Заранее спасибо
Клиент может периодически проверять, подключился ли сервер.
Здравствуйте, Tay7er, Вы писали: T>Есть сервер, который рассылает клиентам некую информацию, соответственно есть клиенты, которые это информацию получают...
Для этой цели можно организовать выделенный сервер, на котором регистрируется ваш сервер и который предоставляет подписку для клиентов на различные события вашего сервера (например, старт, падение, состояние обновления и т.д...)
Он же, кстати, может определять момент падения сервера и писать в лог
Здравствуйте, housecat, Вы писали:
H>Для этой цели можно организовать выделенный сервер, на котором регистрируется ваш сервер и который предоставляет подписку для клиентов на различные события вашего сервера (например, старт, падение, состояние обновления и т.д...) H>Он же, кстати, может определять момент падения сервера и писать в лог
Выделеный сервер не подходит по требованиям, не должно его быть, только клиент и сервер. Т.е не должно быть ничего что продолжает работать после выключения сервера
Здравствуйте, Tay7er, Вы писали:
T>Есть сервер, который рассылает клиентам некую информацию, соответственно есть клиенты, которые это информацию получают. Нужно предусмотреть возможность включения клиента раньше сервера. Если клиент включился раньше сервера, то при включении, сервер должен оповестить всех клиентов о том, что он доступен. Т.е. что-то типа отложенной инициализации. Возможно ли, такой сценарий реализовать с помощью Remoting, если да то как. Какие еще технологии можно использовать. T>Заранее спасибо
хмм.. реализовать можно по-всякому, вариантов масса..
Если раелизовывать ч-з Remoting (можно, но не лучший способ) или гарантированную доставку сообщений (любым способом — тот же TCP и собственнописанные форматы/обработчики сообщений) получится не "чистый" сервер и клиент, а клиентосервер и сервероклиент Потому как клиент должен будет принимать входящие подключения от сервера и на них отвечать..
Можно — вариант с негарантированным оповещением — т.е. либо просто UDP, как уже предлагали, либо — сервер пишет с лог (или БД) информацию о своем старте и текущем статусе, а клиент периодически проверяет статус сервера... или просто периодически пытается приконнектиться..
Просто как на мой взгляд — две различные архитектуры — сначала лучше определиться, какая больше подходит.. а потом — с технической реализацией..
Оповещение клиентов при старте сервера
От:
Аноним
Дата:
22.09.06 06:36
Оценка:
>Если клиент включился раньше сервера, то при включении, сервер должен оповестить всех клиентов о том, что он доступен.
Э-э-э... а с логикой у тя вообще всё в порядке?....
Ну запустился клиент раньше сервера... очень быстро понял, что сервер в дауне, и пытается дальше коннектиться... как токо сервер заводится — клиент САМ об этом и узнает, т.к. у него отработает соединение.
А если в отсоединённом режиме сервер будет что-то слать — то тут только UDP...