Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Программа для администрирования клуба


Автор: Marilyn Omen 19.3.2005, 14:06
Нужно написать програмку, по функциональности похожую на те, которые стоят в компьютерных клубах (типа "Locker"). То есть несложный клиент-сервер, умеющий посылать компам комманды "shutdown", "reboot" и т. п., учитывающий просиженное время, после окончания которого блокируется комп, ну в общем.
Есть опыт написания более-менее серьезных программ, но вот с сетью еще не работал. Хотелось бы услышать несколько советов по реализации, используемые в таких случаях компоненты, общую идею построения такого приложения.
З.Ы. Хелп читать умею, доками пользуюсь, так что здесь не наезжать =) Просто хочется сразу попасть на правильный путь, не тыкаясь по тупикам ))

Автор: RA 19.3.2005, 14:59
Компоненты - Естесно ICS.
Идея - Пользователи клиенты, Администратор сервер.
Пользователи соединяются с администратором.
Пользователи переодически (например раз в минуту) запрашивают у администратора время оставшееся, до блокировки.
Вся эта веселуха реализовывается по протоколу UDP.

Автор: Тьма 19.3.2005, 16:41
Цитата
Вся эта веселуха реализовывается по протоколу UDP.

а почему именно UDP?

Автор: RA 19.3.2005, 17:21
Тьма UDP быстрее чем TCP но мене надежен, но эта якобы ненадежность в локальных сетях да и еще и при такой задаче вообще не является весомым качеством, следовательно UDP перевешивает.

Автор: Marilyn Omen 21.3.2005, 13:52
Насчет UDP - не будет ли потери пакетов? Скорость для этой проги тоже не слишком весомый параметр, а вот надежность как раз весомый.

И еще вопросик: как можно убить все процессы на клиенте (кроме есессно самого клиента и системных)?

Автор: RA 21.3.2005, 15:53
Цитата(Marilyn @ 21.3.2005, 13:52)
Насчет UDP - не будет ли потери пакетов? Скорость для этой проги тоже не слишком весомый параметр, а вот надежность как раз весомый.


Все программы для администрирования, чего-либо в локальных сетях используют UDP.
Это делается не столько с целью увеличения скорости сколько по соображениям, оптимальности передачи информации в сетях (в основном это загруженность сети), ведь нестоит забывать, что кроме того, что клиенты общаются с администратором они общаются и между собой.

Потеря пакета не играет никакой роли (пакеты будут повторно востребованны). Пакеты теряются нетолько в UDP но и в TCP, просто считается что из-за скорости вероятность потери пакета через UDP больше.

Еще раз повторюсь, в соотношение оптимальность/надежность в локальных сетях, UDP выигрывает.
К примеру игры (тотже CS) тоже используют UDP.








Автор: _hunter 21.3.2005, 19:00
Цитата
Потеря пакета не играет никакой роли (пакеты будут повторно востребованны).

вот это не факт. ( так же как и
Цитата
Пакеты теряются нетолько в UDP но и в TCP, просто считается что из-за скорости вероятность потери пакета через UDP больше.
)
в TCP ответственность за доставку пакета и извещенее отправителя об успешной отправке берет на себя протокол, а в UDP вся эта работа ложится на програмиста

Автор: RA 21.3.2005, 22:11
Я не говорил что UDP сам все делает, я лиш имел в виду что для конкретной задачи где постоянно происходит опрос клиентов, потеря пакета не играет значения.
Конечно можно реализовать проверку на приход пакетов самому, это не сложо, но в этом нет необходимости так как средсва Ethernet обеспечивают надежную доставку пакетов по адресу.

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