Здравствуйте, гость ( Вход | Регистрация )
fizmatovec | Дата 11.11.2010, 1:19 |
Здравствуйте. Пишу программу клиент-сервер(два в одном),т.е. хочу обмениваться сообщениями по сети. Запускаю на разных компах, соединение устанавливается, приходит ответ от сервера. Но вот посланное мною сообщение не доходит...Помогите,пожалуйста,разобраться что я делаю не так?? Вот код: (файл .h) Раскрывающийся текст #
Файл .cpp: Раскрывающийся текст
Ещё заметил странную вещь. Беру пример из книги Макса Шлее, Server, с моей программы на неё приходят сообщения, а вот на мою никак не доходят... Здравствуйте. Пишу программу клиент-сервер(два в одном),т.е. хочу обмениваться сообщениями по сети. Запускаю на разных компах, соединение устанавливается, приходит ответ от сервера. Но вот посланное мною сообщение не доходит...Помогите,пожалуйста,разобраться что я делаю не так?? Вот код: (файл .h) Раскрывающийся текст
Файл .cpp: Раскрывающийся текст
Ещё есть одна странная вещь. Беру пример из книги Макса Шлее, Server, с моей программы на неё приходят сообщения, а вот на мою никак не доходят... |
|
call_me_Frank | Дата 25.10.2010, 12:09 |
спасибо за ответы!...щас всё взвешу и буду воплощать | |
Sokoloff | Дата 21.10.2010, 10:50 |
что бы сервер посылал некоторый сигнал по таймеру всем клиентам, который по сути - синхроимпульс я делал так:В каждом узле есть свои часы. В системе есть широковещательная команда - установка времени. Ведущее устройство посылает установку времени, периодически на каждом узле просматривается время и ведётся табличка корректирующая (на ведущем устройстве). Если время расходится сильно, то ведущий опять посылает широковещательную установку времени. Все события регистрируются узлами самостоятельно "Все украдено до нас", это называется NTP и работает на всех распространенных системах. |
|
Алексей1153 | Дата 21.10.2010, 6:09 |
только, думаю, сервер сам будет посылать данные на рабочие места, ведь опрос сервера - это трата времени, нет? сервер - штука достаточно пассивная в сети, как это ни странно ) Опрашивать должны именно клиенты. Если опросом будет заниматься сервер, это будет более тормозным занятием |
|
Litkevich Yuriy | Дата 20.10.2010, 23:43 |
что бы сервер посылал некоторый сигнал по таймеру всем клиентам, который по сути - синхроимпульс я делал так:В каждом узле есть свои часы. В системе есть широковещательная команда - установка времени. Ведущее устройство посылает установку времени, периодически на каждом узле просматривается время и ведётся табличка корректирующая (на ведущем устройстве). Если время расходится сильно, то ведущий опять посылает широковещательную установку времени. Все события регистрируются узлами самостоятельно |
|
call_me_Frank | Дата 20.10.2010, 21:07 |
"КОМП-СЕРВЕР(на нём БД и программа-сервер. С БД работает только эта программа и только локально на этом компе) все железяки шлют сообщения сразу серверу, сервер пишет данные в базу. далее, хвостом существует админка и рабочие места, которые цепляются опять-таки к программе-серверу. Рабочие места периодически опрашивают сервер на наличие новых данных, а также шлют сами, если надо. Возможен вариант извещения рабочих мест сервером о событиях." - ну, собственно, почти к этому я и пришел)) только, думаю, сервер сам будет посылать данные на рабочие места, ведь опрос сервера - это трата времени, нет? "админка позволяет через посредство программы-сервера менять настройки системы и базы." - у меня была идея сделать некую прогу-конфигуратор, которая будет напоминать Visio-программы, где конфигурация системы выстраивается диаграммами и заданием настроек. Думаю, это вполне возможно и достаточно удобно! |
|
Алексей1153 | Дата 20.10.2010, 20:56 |
у нас используется такая организация системы СКУД: КОМП-СЕРВЕР(на нём БД и программа-сервер. С БД работает только эта программа и только локально на этом компе) все железяки шлют сообщения сразу серверу, сервер пишет данные в базу. далее, хвостом существует админка и рабочие места, которые цепляются опять-таки к программе-серверу. Рабочие места периодически опрашивают сервер на наличие новых данных, а также шлют сами, если надо. Возможен вариант извещения рабочих мест сервером о событиях. админка позволяет через посредство программы-сервера менять настройки системы и базы. |
|
call_me_Frank | Дата 20.10.2010, 20:40 |
Отчего ж не рассказать) изначально планировал сделать систему сбора данных с внешних аппаратных устр-в, подключенных к разным компам связанным по сети. Однако, для того, что б система обладала некоторой гибкостью и возможностью надстройки, хотел сделать её модульной, с единым сервером с БД, где все данные будут сохр., а потом изыматься оттуда для отправки в программы отображения данных на этих же машинах. пришел к такому варианту реализации: каждая программа (или программная часть, собирающая данные) при получении очередной порции данных (по своим временным сигналам, а не тому единому от сервера, как было изначально обозначено в сабже) отправляет их на сервер; тот, по уже известной ему конфигурации запущенных программ отображения (он "знает", какая на какой машине запущена/не запущена и какие именно данные ей нужны), отправляет только что полученные данные адресату для их отображения!)) от такая задумка |
|
Алексей1153 | Дата 20.10.2010, 19:17 |
что система требует совсем другой организации так расскажи, если не секрет |
|
call_me_Frank | Дата 20.10.2010, 19:11 |
ладно, тему можно считать закрытой, потому что благодаря ответам и другим размышлениям пришел к выводу, что система требует совсем другой организации спасибо за твои быстрые советы |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 18.5.2024, 15:22 |