|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.12.2011, 00:29 | #11 | |
C++ & PHP & Asm
Форумчанин
Регистрация: 06.12.2008
Сообщений: 300
|
Цитата:
Если реализовываешь всё на переменных, то соответственно, задаешь интервал для таймера в размере 1000 мс (1 сек), и ежесекундно отнимаешь у каждой переменной в цикле 1000 мс, и если значение <= 0, то выполняем определенное действие. Надеюсь смысл понятен, если все-таки нет, то тебе необходимо более подробно объяснить механизм твоей системы. И не стоит бояться API функций, с ними работать намного проще чем с GUI-шными компонентами. |
|
05.12.2011, 00:32 | #12 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Ну зачем же такой гемерой!!
Если у вас интрнет-кафе, значит все ПК связаны в сеть, а значит на каждом ПК можно поставить самописный клиент который, получив команду от сервера будет считать оплаченое время, попутно синхронизируясь с сервером. По окончании известит сервер и прибьёт всякий доступ к ПК(просто заблокировав мышь и клаву). Сервер в свою очередь ведёт учет работы клиентов и может посылать/принимать команды(Стоп,старт, изменить время работы и т.д.). Во всяком случае такой вариант куда лучше. |
05.12.2011, 00:34 | #13 | |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
Цитата:
На самом деле - это не нагрузка на ЦПУ, но как минимум выглядит оно уже неправильно. С приходом Гигабайтов ОЗУ и Гигагерцов ЦПУ - программисты перестали бороться за лишний такт и лишний байт, а это неправильно ИМХО. Последний раз редактировалось Небесный; 05.12.2011 в 00:39. |
|
05.12.2011, 00:39 | #14 | |
Зелень
Форумчанин
Регистрация: 03.02.2007
Сообщений: 302
|
Цитата:
На клиенских компах писать что-то в файлы или куда там - это уже не то, как думаю клиента нужно максимально сделать простым, получил команду разблокировался, получил команду заблокировался - думаю это более гуманно. Сделать, чтобы клиент давал команду серверу, чтобы он писал - лишний гемор ганять трафик и лишние функции. В случае со светом (бесперебойниками не запасешься - исхожу из реалий жизни, которые приходилось уже проходить), сервер будет держать у себя полную базу, как со временем, списывать время например каждые 5 минут, тоесть пишемся в файлы каждые 5 минут, или в СУБД, неважно что там. Свет пропал, потом появился, включаем компы, запускаем сервер, сервер видит, что время есть - запускает клиенские станции. Вот для чего такой гемор. Последний раз редактировалось Небесный; 05.12.2011 в 00:41. |
|
05.12.2011, 00:39 | #15 | |
C++ &amp; PHP &amp; Asm
Форумчанин
Регистрация: 06.12.2008
Сообщений: 300
|
Цитата:
Нагрузки абсолютно никакой не будет, Вы пугаетесь напрасно. Как другой вариант, кто мешает вместо 1000 мс, сделать скажем 60000 мс? З.ы.: Если не понятно было, то таймер нужен всего один, отсюда то и цикл необходим. |
|
05.12.2011, 00:47 | #16 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
Если необходимо предусмотреть аварийную ситуацию на сервере, то лучше, на мой взгляд, сделать проверку каждую 1 мин.
То есть через каждую 1 мин, идет отнимание велечин времени и запись в БД. Этим самым мы не сильно нагружаем главный компьютер даже при большом количестве компьютеров, но теряем точность. При расчете, если мы считаем время исходя из определенной суммы, то полученное значение времени округляем до минут (то есть не учитываем секунды). Желательно использовать для обработки значение, полученное путем суммирование начального времени + проплачиное время и сравнивать с системным временем, а таймер только для выполнения "события". Идей много, даже не знаю что и как будет вернее.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
Последний раз редактировалось chertovich; 05.12.2011 в 00:57. |
05.12.2011, 01:02 | #17 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Если сервер и СУБД, то сервер по таймеру раз в 1-5 минут обращается к СУБД, анализирует и изменяет данные, при необходимости блокирует нужные компьютеры. СУБД обязательно с поддержкой транзакций, например FIREBIRD.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
timer(vc++) | NiCola999 | Windows Forms | 13 | 31.01.2011 06:00 |
timer | Erick Cartman | Помощь студентам | 4 | 12.03.2010 19:57 |
Timer | Arhangel_bes | Помощь студентам | 2 | 27.10.2008 17:55 |
timer | ZYRGiX | Помощь студентам | 3 | 21.07.2008 15:15 |
timer | Toxa | Компоненты Delphi | 6 | 06.12.2006 06:58 |