powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ServerSocket: exiting child job
3 сообщений из 3, страница 1 из 1
ServerSocket: exiting child job
    #39322320
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть у меня сервис, который слушает TCP порт и порождает дочерний джоб для каждого нового конекта. Как только клиент закрывает сокет на своей строне, дочерний джоб автоматичести завершается.

ServerProc
JOB ChildProc:(:16::) ;Concurrent server bit is on

Все как в документации и работает уже много лет без проблем. Решил я передавать в свой хандлер не само TCP устройство как раньше, а "обернуть" его ServerSocket-том и передавать уже стрим:

ChildProc

s io=##class(%SYSTEM.INetInfo).TCPName()
use io

s stream=##class(%IO.ServerSocket).%New()
d stream.Attach(io)

; do Handler(io)
do Handler(stream)

в таком виде все по-прежнему работает, кроме того, что дочерний джоб не завершается при закрытии сокета как раньше.

В чем может быть проблема?
...
Рейтинг: 0 / 0
ServerSocket: exiting child job
    #39322485
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alatalo,

Смотрите, как работал выход из процесса раньше. У Вас же там наверняка есть цикл какой-нибудь, и сейчас, наверняка, не наступает условие выхода из этого цикла.
...
Рейтинг: 0 / 0
ServerSocket: exiting child job
    #39323588
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точно, READ выбрасывал ошибку и этим процесс завершался, а сокет просто возвращает статус.
спасибо за совет.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ServerSocket: exiting child job
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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