powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Зависание данных в портах
14 сообщений из 14, страница 1 из 1
Зависание данных в портах
    #33130697
Tony_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет

У меня есть вьювер (на c#), посредством которого я смотрю данные из Cashe', связь осуществляется через сокет (C#) - порт (Cashe'), так вот:

я закрываю C#овскую прогу, соответственно сокет прибивается, но иногда получается такая фигня что при повторном открытии C# и создании сокета, в него присылаются те недосланные данные.

Выходит (я так думаю), что они зависают на Сервере (так как при перезапуске Cashe сервака они исчезают).

Собственно вопрос:

1. Можно ли как то принудительно очищать порт в Cashe.

2. Можно ли получить Session ID в сокетах С#, и по нему отсекать "не наши" данные (вопрос не по теме форума, но может кто то встречался с подобной проблеммое и хотелось бы узнать как ее решить. Пока у меня единственная мысль - это слать с данными SessionID генерируемый при установлении коннекта, но он мне не очень нравиться так как придется перелопачивать очень много исходного кода :()

Заранее спасибо
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33130863
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю здесь не досылается вся информация из буфера,
пробуйте перед закрытием сокета принудительно извлечь ее
коммандой W "data",! - т.е. восклицательным знаком, который соответствует
CR/LF.
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33131159
Tony_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ясненько, но дело еще и в том, что если C# отваливается (например дохнет коннект) то Cashe код остается неуправляемым и ничего сделать невозможно...
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33131263
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну здесь вопрос конечно сложнее...
Я бы посоветовал, но не знаю поможет ли это ?
А если повторно конект осуществлять через другой порт и
попробовать что-то изменить...
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33131354
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какая версия Cache?
Как запускается серверный поток (с какими флагами)
в Cache?
Пример рабочего сервера есть:
http://karataev.nm.ru/cache/mdapi.html
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33131464
Tony_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValeriuНу здесь вопрос конечно сложнее...
Я бы посоветовал, но не знаю поможет ли это ?
А если повторно конект осуществлять через другой порт и
попробовать что-то изменить...
другой нельзя, настройки в ини файле :( и менять нельзя
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33131472
Tony_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maksim UMКакая версия Cache?
Как запускается серверный поток (с какими флагами)
в Cache?
Пример рабочего сервера есть:
http://karataev.nm.ru/cache/mdapi.html
порт создаю так

open "|TCP|7599":(:TcpIPPort:"MAT"::$C(13)):20

Build: Caché v5.0.14 (5702U-5702)
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33131483
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Важнее как запускается клиентский поток при
подключении.
Те как выглядит Job ...
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33131578
Tony_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maksim UMВажнее как запускается клиентский поток при
подключении.
Те как выглядит Job ...

имедось ввиду это?

job run^tsclientw1:(:5:|TCP|7599:|TCP|7599)

а в tsclientw1 просто шлю в цикле

use 0:(::"M") Write $ZCVT("ТЕКСТ", "O", "UTF8"), !
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33131673
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tony_Kимедось ввиду это?
Да

Tony_Kjob run^tsclientw1:(:5:|TCP|7599:|TCP|7599)
Можно попробовать просто
job run^tsclientw1:(:5)
а в теле клиента
Код: plaintext
Set dev=$ZU( 53 )
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33131728
Tony_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maksim UM Tony_Kимедось ввиду это?
Да

Tony_Kjob run^tsclientw1:(:5:|TCP|7599:|TCP|7599)
Можно попробовать просто
job run^tsclientw1:(:5)
а в теле клиента
Код: plaintext
Set dev=$ZU( 53 )


ммм... а что значит магическое число 53?
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33132034
Maksim UM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
лучше попробовать.
сложно отвечать на вопросы по недокументированным функциям...
но, вроде, эта функция устанавливает principal device как
входящий сокет.
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33132423
Сашок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте опцию в команде use tcpdev:"+D"
Документация Monitoring for Disconnect Mode
This mode turns on or off asynchronous disconnect monitoring. When you specify +D, TCP disconnect monitoring is activated; when you specify –D, TCP disconnect monitoring is deactivated.
While activated, Caché polls the TCP connection roughly every 60 seconds. When it detects a disconnect, Caché issues a <DISCONNECT> error. Disconnect detection does not occur in idle jobs, such as a job suspended by a HANG command or a job waiting on a READ operation.
You can also check for TCP disconnect by using the $ZUTIL(189) function.
...
Рейтинг: 0 / 0
Зависание данных в портах
    #33132951
Tony_K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок, спасибо всем, буду пробовать
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Зависание данных в портах
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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