Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.16;
Скачать: CL | DM;

Вниз

indiclient.lastcmdresult   Найти похожие ветки 

 
malyar   (2007-08-21 22:34) [0]

всем привет
есть код
------------------------------
idclient.sendcmd(....)
idclient.lastcmdresult
------------------------------
народ подскажите может ли происходить выход из lastcmdresult
раньше чем сервер ответит на запрос sendcmd,
если idclient.readtimeout=0 и на форму помещен инди антифризе.
если может то при каком условии ?


 
Сергей М. ©   (2007-08-22 08:35) [1]


> выход из lastcmdresult


Вообще-то это свойство.

Все что происходит при чтении этого св-ва - это чтение приватного значения поля FLastCmdResult.


 
Сергей М. ©   (2007-08-22 09:19) [2]

Вопрос поставлен неверно.

На строчку idclient.lastcmdresult можно попасть только и только в том случае, когда уже получен ответ сервера.

Антифриз здесь вообще ни причем.


 
malyar   (2007-08-23 00:04) [3]

в общем ситуация такая
моя процедура в которой используются
sendcmd и lastcmdresult
вызывается по таймеру с интервалом 50мс,
передаётся камонда sendall или sendto (выбираются по randomize),
сервер на них отвечает либо sendall ok  либо sendto ok (пока ничего другого он не делает)
и иногда происходит такая вещ :
на запрос sendall получаю ответ sendto ok  и наоборот
если подключено менее 10 клиентов (array of tidtcpclient)
этого не происходит
а чем больше клиентов тем чаще кривые ответы.
складывается такое ощущение что пока сервер думал как ответить на первый запрос то успел получить и ответить на второй от одного и тогоже клиента


 
Германн ©   (2007-08-23 00:31) [4]


> в общем ситуация такая
> моя процедура в которой используются
> sendcmd и lastcmdresult
> вызывается по таймеру с интервалом 50мс,
>

Ох как я не люблю таких реализаций! При возможности использования асинхронной работы использовать таймеры + синхронные методы? Тут может сложится масса "очучений". Лучше уж обкуриться. :(
А по сути надо разбираться. Вести логи как на сервере, так и на клиентах.


 
Сергей М. ©   (2007-08-23 08:10) [5]


> malyar   (23.08.07 00:04) [3]


У тебя ошибка в 17-й строке.

Инди работает в блок.режиме, асинхронность исключена.


 
Сергей М. ©   (2007-08-23 08:12) [6]


> malyar   (23.08.07 00:04) [3]


Хотя - стоп...
Вру.

Ты антифриз упомянул и таймер.
С учетом этих обст-в ситуация с "перепутом" запросто возможна.

Меняй логику.


 
malyar   (2007-08-24 23:24) [7]

to сергей
данная логика выбрана специально чтоб выявить возможные баги ,
таймер использовался в качестве БОТОВОДА.

антифризе и таймер действительно не совместимы именно их совокупность
и давала непредсказуемость поведения проге !!



Страницы: 1 вся ветка

Текущий архив: 2007.09.16;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.049 c
2-1187643455
wp2
2007-08-21 00:57
2007.09.16
Как загрузить Rich-тест в компонент TRichEdit на этапе проэктир..


2-1187710522
Sonic90
2007-08-21 19:35
2007.09.16
Целое число


15-1187359204
oxffff
2007-08-17 18:00
2007.09.16
Highlander впервые показан


1-1183726557
JanMihail
2007-07-06 16:55
2007.09.16
Размеры прокрутки


2-1188068008
Bad_B
2007-08-25 22:53
2007.09.16
Что я делаю не так?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский