powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Закрытый порт и isc_que_events (TIBEvents.RegisterEvents)
7 сообщений из 7, страница 1 из 1
Закрытый порт и isc_que_events (TIBEvents.RegisterEvents)
    #38575673
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Ситуация такая. Приложению иногда посылается EVENT, но это не очень критично. Т.е. если порт сервера 3060 - приложение должно работать. Скажем, если не удалось зарегистрировать работу с этим событием - выдать при запуске предупреждение, но продолжить работу.

Вопрос: как это лучше сделать? Использую D6, IBX, FB 2.1.1.17910.

Пока ситуация такая - после IBEvents.RegisterEvents со временем (или сразу, если вызвать ProcessMessages) основной поток (где окна VCL) зависает. Покопавшись, я нашел, что зависает на Synchronize(SQueEvents), т.е. в итоге в главном потоке вызывается
isc_que_events с указанием коллбэка EventCallback, но вызова этого коллбэка никогда не происходит, и isc_que_events зависает, а вместе с ним - и главный поток.

Пока придумал только вот что: перед RegisterEvents запускать поток, который будет ждать таймаут (скажем, секунд 10, пока выполниться ProcessMessages после RegisterEvents - что в итоге вызовет isc_que_events), и если не выполнится - выдавать ошибку и закрывать процесс.

Но хотелось бы как-то продолжить работу. Есть другие варианты? Можно ли как-то проверить, "получится ли" ;) зарегистрировать событие?
...
Рейтинг: 0 / 0
Закрытый порт и isc_que_events (TIBEvents.RegisterEvents)
    #38575679
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockisc_que_events зависает
Он не зависает, он ждёт connection timeout твоей системы. Когда обломится - вернётся. Он
может вернуться сразу, если ты набюёшь морду firewall-у, чтобы не прикидывался чёрной
дырой, а возвращал отлуп сразу как все нормальные люди.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Закрытый порт и isc_que_events (TIBEvents.RegisterEvents)
    #38575685
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovОн
может вернуться сразу, если ты набюёшь морду firewall-у

Блок этого порта происходит где-то на промежуточном сервере, или на маршрутизаторе или еще хз где. В том то и беда, что часто изменить настройки фаерфола нереально.

П.С. Таймаут там видимо очень большой, т.к. я ждал минут 20 - не помогло. Так что, можно сказать, что в данном случае слово "ждёт" почти эквивалентно "зависает". Т.ч. бороться с этим всё равно как-то надо. Вопрос - как.
...
Рейтинг: 0 / 0
Закрытый порт и isc_que_events (TIBEvents.RegisterEvents)
    #38575689
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockбороться с этим всё равно как-то надо. Вопрос - как.
Не используй эвенты.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Закрытый порт и isc_que_events (TIBEvents.RegisterEvents)
    #38575690
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНе используй эвенты.
В том то и дело, что их надо использовать, если это возможно.
Как лучше определить, возможно ли это?
...
Рейтинг: 0 / 0
Закрытый порт и isc_que_events (TIBEvents.RegisterEvents)
    #38575691
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockВ том то и дело, что их надо использовать, если это возможно.
Тогда выкинь TIBEvent (всё равно он глючный) и вызывай isc_que_events() в потоке.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Закрытый порт и isc_que_events (TIBEvents.RegisterEvents)
    #38575693
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Жаль, но видимо это единственный вариант.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Закрытый порт и isc_que_events (TIBEvents.RegisterEvents)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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