powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Нужно висеть и слушать. Как корректно это сделать.
22 сообщений из 22, страница 1 из 1
Нужно висеть и слушать. Как корректно это сделать.
    #38946977
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некий провайдер, который генерит события. Я подписываюсь на получение событий и вот теперь должен слушать, что приходит. Как корректней это сделать? Я имею ввиду зависнуть и слушать.

P.S. Это консольное приложение. Пока сниматься будет при помощи закрытия окна. Потом сделаю, чтобы ловил команды винды.
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947027
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это конкурс на тему "угадай, кто генерит"?
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947046
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyэто конкурс на тему "угадай, кто генерит"?Какая разница? При отсутствии гарантии доставки пакетов по сети серверные события нужно отлавливать опросом с клиента по таймеру. Всё остальное от лукавого.
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947047
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обработка и вызов событий

Antonariyэто конкурс на тему "угадай, кто генерит"?

Сказано же - провайдер :)
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947064
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, серьезно. Windows окно висит и проц не грузит. Нужно тоже самое сделать в консоли.

Пока вижу только один выход:
Код: c#
1.
2.
3.
using System.Windows.Forms;
...
Application.Run();
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947071
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПри отсутствии гарантии доставки пакетов по сети серверные события нужно отлавливать опросом с клиента по таймеру.

По таймеру не хочу. Какой шаг брать в таймере. 1 час? 1 минута? 1 секунда. А вдруг события посыпятся, как из рога изобилия, а таймер будет бездельничать.
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947099
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsafНе, серьезно. Windows окно висит и проц не грузит. Нужно тоже самое сделать в консоли.


Console.ReadLine?
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947105
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsafАлексей КПри отсутствии гарантии доставки пакетов по сети серверные события нужно отлавливать опросом с клиента по таймеру.

По таймеру не хочу.Всё остальное найопка. Клиент сидит, событий нет. Событий действительно нет или технические проблемы - не понятно. В случае с таймером при технических проблемах будет возникать сообщение об ошибке.
vlsafКакой шаг брать в таймере. 1 час? 1 минута? 1 секунда.Сделай настройку, если не уверен.
vlsafА вдруг события посыпятся, как из рога изобилия, а таймер будет бездельничать.Не понял.
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947253
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе понял.Это я уже гоню ;)
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947254
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ случае с таймером при технических проблемах будет возникать сообщение об ошибке. Эээ... А без таймера не будут?
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947396
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsafЕсть некий провайдер, который генерит события. Я подписываюсь на получение событий и вот теперь должен слушать, что приходит. Как корректней это сделать? Я имею ввиду зависнуть и слушать.

P.S. Это консольное приложение. Пока сниматься будет при помощи закрытия окна. Потом сделаю, чтобы ловил команды винды.
Что за провайдер? Что за события?
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947414
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsafАлексей КВ случае с таймером при технических проблемах будет возникать сообщение об ошибке. Эээ... А без таймера не будут?Ну а как без запроса к серверу клиент определит "жив" ли сервер?
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947455
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запроса к серверу не будет. Будет только подписка на события типа такого:
_communicationClient.OnSystemMessageReceived += OnSystemMessageReceived;

_communicationClient сторонняя библиотека (черный ящик).
Я его инициализирую и только. Потом подписываюсь на события и жду когда они придут, чтобы обработать. Таймер тут курит в сторонке.
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947461
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsaf,
Как я понимаю, провайдер реализует Pub/Sub pattern?
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947469
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947486
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsafЗапроса к серверу не будет. Будет только подписка на события типа такого:
_communicationClient.OnSystemMessageReceived += OnSystemMessageReceived;

_communicationClient сторонняя библиотека (черный ящик).
Я его инициализирую и только. Потом подписываюсь на события и жду когда они придут, чтобы обработать. Таймер тут курит в сторонке.

А в чем проблема? Ну подписался, и что? Программа выпадает? события не приходят?
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947500
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronКак я понимаю, провайдер реализует Pub/Sub pattern?Да хрен его знает, какой он там паттерн реализован. Ну может и и Pub/Sub, а может и другой. Какая разница? Черный ящик, он и в африке черный.

Короче подписываюсь на событие и делаю Console.ReadLine. Другого нечего не остается. А если в событии пришло сообщение типа заканчивай работать, то киляю родительский прцесс.


Только одно гложет, а асли кто-то нечаянно Enter нажмет?! Конец программе ;)
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947510
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsafДа хрен его знает, какой он там паттерн реализован. Ну может и и Pub/Sub, а может и другой. Какая разница? Черный ящик, он и в африке черный.

Короче подписываюсь на событие и делаю Console.ReadLine. Другого нечего не остается. А если в событии пришло сообщение типа заканчивай работать, то киляю родительский прцесс.
Раз знаете на что подписываться, значит это и есть Pub(lish)/Sub(scribe) pattern.
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947724
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsaf,
Дал же ссылку:)
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38947867
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,
Спасибо!
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38948054
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsafЗапроса к серверу не будет. Будет только подписка на события типа такого:
_communicationClient.OnSystemMessageReceived += OnSystemMessageReceived;

_communicationClient сторонняя библиотека (черный ящик).
Я его инициализирую и только. Потом подписываюсь на события и жду когда они придут, чтобы обработать. Таймер тут курит в сторонке.Таймер может жить внутри _communicationClient. Но прям если так хочется, то можно попробовать вставить в _communicationClient WCF+MSMQ.
...
Рейтинг: 0 / 0
Нужно висеть и слушать. Как корректно это сделать.
    #38948055
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsafЕсли вопрос в целом по архитектуре клиента, то, как сказали выше, главный поток приложения управляется с помощью AutoResetEvent. Всё остальное работает через System.Threading.Timer и I/O Completion Ports , на которых базируются асинхронные операции, например, сокетов.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Нужно висеть и слушать. Как корректно это сделать.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]