Обмен данными между сервером и клиентом. |
Здравствуйте, гость ( Вход | Регистрация )
Обмен данными между сервером и клиентом. |
call_me_Frank |
20.10.2010, 14:18
Сообщение
#1
|
Студент Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте, товарищи знатоки!...прошу помочь с написанием программы, суть которой заключается в следующем: есть локальная сеть, допустим один комп сервер и 5 клиентов; необходимо, что бы сервер посылал некоторый сигнал по таймеру всем клиентам, который по сути - синхроимпульс; по этому импульсу все клиенты собирают у себя некоторые данные и отправляют их обратно на сервер, и после этого все повторяется.
я читал примеры работы с сетью в Qt, читал про сокеты и сервера, но пока не смог понять, что нужно и что лучше использовать для такой организации работы. |
|
|
Алексей1153 |
20.10.2010, 17:52
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
call_me_Frank, если постоянное соединение не требуется, то UDP - обмен подойдёт
|
|
|
call_me_Frank |
20.10.2010, 18:13
Сообщение
#3
|
Студент Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0 |
ага, как раз об этом выборе речь и идет!...скажем так, насколько можно рассчитывать на UDP? а то, как я читал, по его определению - пакеты летают хаотично, а могут и вообще потеряться)
и еще насчет постоянного соединения: нужно ли оно мне?...например, что выйдет "дешевле" - поддерживать постоянные соединения с клиентами или устанавливать его в необходимый момент передачи? как мне кажется, это должно зависеть от загрузки канала и от частоты таких включений, верно? |
|
|
Алексей1153 |
20.10.2010, 18:18
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
call_me_Frank, точно синхронизировать по узкому каналу не получится. Разве только по точным часам, синхронизированным по GPS
|
|
|
call_me_Frank |
20.10.2010, 19:11
Сообщение
#5
|
Студент Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0 |
ладно, тему можно считать закрытой, потому что благодаря ответам и другим размышлениям пришел к выводу, что система требует совсем другой организации
спасибо за твои быстрые советы |
|
|
Алексей1153 |
20.10.2010, 19:17
Сообщение
#6
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
call_me_Frank |
20.10.2010, 20:40
Сообщение
#7
|
Студент Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0 |
Отчего ж не рассказать) изначально планировал сделать систему сбора данных с внешних аппаратных устр-в, подключенных к разным компам связанным по сети. Однако, для того, что б система обладала некоторой гибкостью и возможностью надстройки, хотел сделать её модульной, с единым сервером с БД, где все данные будут сохр., а потом изыматься оттуда для отправки в программы отображения данных на этих же машинах.
пришел к такому варианту реализации: каждая программа (или программная часть, собирающая данные) при получении очередной порции данных (по своим временным сигналам, а не тому единому от сервера, как было изначально обозначено в сабже) отправляет их на сервер; тот, по уже известной ему конфигурации запущенных программ отображения (он "знает", какая на какой машине запущена/не запущена и какие именно данные ей нужны), отправляет только что полученные данные адресату для их отображения!)) от такая задумка |
|
|
Алексей1153 |
20.10.2010, 20:56
Сообщение
#8
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
у нас используется такая организация системы СКУД:
КОМП-СЕРВЕР(на нём БД и программа-сервер. С БД работает только эта программа и только локально на этом компе) все железяки шлют сообщения сразу серверу, сервер пишет данные в базу. далее, хвостом существует админка и рабочие места, которые цепляются опять-таки к программе-серверу. Рабочие места периодически опрашивают сервер на наличие новых данных, а также шлют сами, если надо. Возможен вариант извещения рабочих мест сервером о событиях. админка позволяет через посредство программы-сервера менять настройки системы и базы. Сообщение отредактировал Алексей1153 - 20.10.2010, 20:57 |
|
|
call_me_Frank |
20.10.2010, 21:07
Сообщение
#9
|
Студент Группа: Участник Сообщений: 73 Регистрация: 20.10.2010 Пользователь №: 2129 Спасибо сказали: 0 раз(а) Репутация: 0 |
"КОМП-СЕРВЕР(на нём БД и программа-сервер. С БД работает только эта программа и только локально на этом компе)
все железяки шлют сообщения сразу серверу, сервер пишет данные в базу. далее, хвостом существует админка и рабочие места, которые цепляются опять-таки к программе-серверу. Рабочие места периодически опрашивают сервер на наличие новых данных, а также шлют сами, если надо. Возможен вариант извещения рабочих мест сервером о событиях." - ну, собственно, почти к этому я и пришел)) только, думаю, сервер сам будет посылать данные на рабочие места, ведь опрос сервера - это трата времени, нет? "админка позволяет через посредство программы-сервера менять настройки системы и базы." - у меня была идея сделать некую прогу-конфигуратор, которая будет напоминать Visio-программы, где конфигурация системы выстраивается диаграммами и заданием настроек. Думаю, это вполне возможно и достаточно удобно! |
|
|
Litkevich Yuriy |
20.10.2010, 23:43
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
что бы сервер посылал некоторый сигнал по таймеру всем клиентам, который по сути - синхроимпульс я делал так:В каждом узле есть свои часы. В системе есть широковещательная команда - установка времени. Ведущее устройство посылает установку времени, периодически на каждом узле просматривается время и ведётся табличка корректирующая (на ведущем устройстве). Если время расходится сильно, то ведущий опять посылает широковещательную установку времени. Все события регистрируются узлами самостоятельно |
|
|
Текстовая версия | Сейчас: 12.12.2024, 14:52 |