Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
26 / 26 / 10
Регистрация: 22.12.2013
Сообщений: 153

Из клиента подключатся к процессу на сервере и смотреть лог он-лайн

09.01.2014, 15:19. Показов 1497. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеем на сервере некий процесс, следящий за устройствами (отслеживает статус, принимает данные etc)
На все телодвижения ведется лог, на данный момент пишется в БД.
Хотелка такая - из клиента подключатся к этому процессу и смотреть лог он-лайн, причем клиентов может быть одновременно несколько
Поскольку некоторым образом знаком с сокетами то идея такая - и на сервере и на клиенте есть часть содержащая как слушателя, так и клиента (отправителя).
Слушатель на сервере принимает "заявки" на подписку/отписку логов, на клиенте отправляет завку и соответственно принимает лог. Слушатели на сервере и клиенте асинхронные, сидят на одном (каждый своем) порту.
Это решение в "лоб", работоспособность лишь на бумаге (думаю, должно взлететь)
Есть ли какие более изящные варианты решения?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.01.2014, 15:19
Ответы с готовыми решениями:

Нужен исходник он-лайн РПГ, он-лайн игры
........я всё никак не могу разобраться в АСП. Пытаюсь его разобрать при создании собственного проекта (аналога Бойцовского клуба и др....

Авторизация клиента на сервере
Клиент /// <summary> /// Создание экземпляра клиента /// </summary> /// <returns>Экземпляр...

Авторизция клиента на сервере
Здравствуйте! Пишу клиент-серверное приложение. У клиентов есть логины/пароли. Как принято делать авторизацию? Есть какие-то правильные...

7
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,246
09.01.2014, 15:22
Лучший ответ Сообщение было отмечено NickoTin как решение

Решение

Цитата Сообщение от паха76 Посмотреть сообщение
из клиента подключатся к этому процессу и смотреть лог он-лайн
зачем к процессу? почему не подключиться к бд? В общем, можно напрямую к бд коннектиться, а можно написать сервис, который будет давать только то, что нужно клиенту. Сервис wcf
0
26 / 26 / 10
Регистрация: 22.12.2013
Сообщений: 153
09.01.2014, 15:35  [ТС]
Цитата Сообщение от Монфрид Посмотреть сообщение
можно написать сервис
сервис должен опрашивать БД с достаточно большой частотой - напрягает сервер лишний раз.
Сервис wcf мне не знаком - если я правильно понимаю на него могут подписаться несколько клиентов?
0
 Аватар для Монфрид
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,246
09.01.2014, 17:42
Клиенты запрашивают данные у сервиса, он отдаёт. Без разницы сколько клиентов
0
26 / 26 / 10
Регистрация: 22.12.2013
Сообщений: 153
13.01.2014, 14:00  [ТС]
Апну топик
Почитал про wcf,

Добавлено через 6 минут
Апну топик
Почитал про wcf, написал простенькую реализацию - все крутится. Но - клиент должен дергать сервис, что в моем случае мягко говоря "не айс"
Клиент не знает, в какое время происходят события, а дергать сервис с какой-то частотой (n раз в сек) представляется нецелесообразным.
Хотелось как раз наоборот - клиент дает заявку на начало(окончание) сеанса, а сервис передает всем подключенным клиентам все телодвижения устройств, за которыми он следит. Видимо, или wcf не подходит, или я не умею его готовить
Что посоветует почтенная публика?
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
13.01.2014, 16:47
Цитата Сообщение от паха76 Посмотреть сообщение
Видимо, или wcf не подходит, или я не умею его готовить
Дуплексные службы
1
26 / 26 / 10
Регистрация: 22.12.2013
Сообщений: 153
30.01.2014, 14:33  [ТС]
апну еще разок
Направьте на путь истинный
Пока все мои муки явили следующее:
Крутится wcf сервис с callback. При возникновении события дергаем метод сервиса, передаем ему сообщение. Метод дергает callback - клиенты получают.
Насколько грамотно так делать?
0
Кодогенератор
 Аватар для hepper
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
30.01.2014, 16:10
Лучший ответ Сообщение было отмечено NickoTin как решение

Решение

Цитата Сообщение от паха76 Посмотреть сообщение
Насколько грамотно так делать?
намного грамотней чем
Цитата Сообщение от паха76 Посмотреть сообщение
дергать сервис с какой-то частотой
в 1м сообщении ИМХО впринципе рабочая схема описана, но если я верно понял, разница от того что сервер будет оповещать клиентов о каждой записи в лог от "дерганья" сервера по времени будет не велика, если только события не возникают достаточно редко,
иначе - если сообщение в лог(базу) пишется в среднем раз в секунду, то для получения актуального лога клиентом напрямую из базы надо запрашивать ее с такой же частотой, при схеме с сервисом система будет та же самая, только опрашивать базу будет не клиент а сервис (чуть меньше нагрузка на базу если клиентов много) и отдавать клиентам.
в общем все зависит от количества клиентов и частоты опроса базы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2014, 16:10
Помогаю со студенческими работами здесь

Хранение информации на сервере клиента
Всем драсьте! Вот такой вопрос: Есть веб приложение, обрабатывающее определенные данные. Ну и естественно они конфиденциальные для...

Регистрация клиента на TCP сервере
Клиент присылает на сервер масив пар чисел типа (Xi, Yi). Cервер обрабатывает его и возвращает за запросом клиента параметры линейой,...

Listen на сервере, и 2 клиента на 1 машине
Всем привет. Есть сервер, принимает подключения следующим образом. // ... SOCKET serverAcceptor = socket( AF_INET,...

SQL-запросы клиента к БД на сервере
Здравствуйте, помогите пожалуйста! Необходимо сделать sql запрос с компа клиента по сети к mysql на сервере при помощи си шарп? ...

Написать программу анализирующую лог файл сервера apache, рассчитывающую увеличение нагрузки на сервере по часам суток
Ребят, помогите, мозг уже пухнет. Написать программу анализирующую лог файл сервера apache, рассчитывающую увеличение нагрузки на ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru