Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];

Вниз

idTCPServer & idTCPClient Есть ли альтернатива readln ???   Найти похожие ветки 

 
banderas   (2004-07-13 19:31) [0]

У меня такая проблема: Я сделал что бы запрос был по таймеру
msg:=idTCPClient1.ReadLn("",1,9999999);
memo1.Lines.Add(msg);
Всё вроди бы нормально но когда я пытаюсь отконнектится от сервака Вылазит "Not Connectid" причём столько раз сколько было сделанно запросов. Как сделать что бы эти запросы "сбрасывались" ???????????????
(Пожалуйста неделю парюсь) ;(


 
Reindeer Moss Eater ©   (2004-07-13 19:38) [1]

Зачем таймер компоненту с синхронными методами?
Зачем?
Зачем ему таймер?
Можешь объяснить?


 
banderas   (2004-07-13 19:40) [2]

Ребят я не знаю как подругому подскожите УМОЛЯЮ


 
Reindeer Moss Eater ©   (2004-07-13 19:45) [3]

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

Теперь добавляем пресловутый таймер и в каждом тике вызываем и вызываем ReadLn.
В то время как самый первый вызов еще не завершил работу.
Спрашивается зачем?

repeat
msg:=idTCPClient1.ReadLn("",1,9999999);
until msg = "Пора домой";

и все.
и никаких таймеров.


 
banderas ©   (2004-07-13 21:05) [4]

Да чё то я про цикл repeat совсем позабыл. Но уменя снова небольшая проблема

repeat
msg:=idTCPClient1.ReadLn("",1,9999999);
memo1.Lines.Add(msg);
until msg = "qw1";

когда тыкаю на disconnect то вылазит всего лиш одно сообщение
Я пробовал так
idTCPClient1.WriteLn("qw1");
idTCPClient1.Disconnect;
но это не помогает...


 
Reindeer Moss Eater ©   (2004-07-14 09:06) [5]

когда тыкаю на disconnect то вылазит всего лиш одно сообщение

И что?
А сколько их было отправлено? (Учитывая твой недефолтный признак конца строки)


 
banderas ©   (2004-07-14 11:57) [6]

А как сделать что бы при нажатиии на дисконнект ни каких сообщений невылазило ?


 
Reindeer Moss Eater ©   (2004-07-14 12:06) [7]

А дальше можно уже по русски и внятно?

Мы вообще про сообщения сервера/клиента или про сообщения об ошибках?


 
Reindeer Moss Eater ©   (2004-07-14 12:12) [8]

Прочитай в книгах про блоки try except


 
banderas ©   (2004-07-14 12:24) [9]

Про сообщение об ОШИБКЕ:  "Not Connectid" при нажатии на Disconnect.

Если нажать на кнопку один раз то произойдёт Connect. А если ещё раз то Disconnect. Как сделать чтобы до Disconnecta происходила отправка сообщения (idTCPClient1.WriteLn("qw1");) или есть другой способ ?
 
procedure TForm1.Button2Click(Sender: TObject);
var
msg:string;
begin
if idTCPClient1.Connected=false then
begin
idTCPClient1.Host:=host.Text;
idTCPClient1.Connect(-1);
idTCPClient1.WriteLn("dsf");
button3.Caption:="Disconnect";
repeat
msg:=idTCPClient1.ReadLn("",1,9999999);
memo1.Lines.Add(msg);
until msg = "qw1";

end
else
begin
idTCPClient1.WriteLn("qw1");
idTCPClient1.Disconnect;
button3.Caption:="Connect";
end;

end;


 
Reindeer Moss Eater ©   (2004-07-14 12:28) [10]

procedure TForm1.Button2Click(Sender: TObject);
var
msg:string;
begin
if idTCPClient1.Connected=false then
begin
idTCPClient1.Host:=host.Text;
idTCPClient1.Connect(-1);
idTCPClient1.WriteLn("dsf");
button3.Caption:="Disconnect";
ExitFlag := False;
repeat
try
msg:=idTCPClient1.ReadLn("",1,9999999);
memo1.Lines.Add(msg);
except
ExitFlag := true;
end;
until msg = "qw1" or ExitFlag;

end
else
begin
idTCPClient1.WriteLn("qw1");
ExitFlag := true;
idTCPClient1.Disconnect;
button3.Caption:="Connect";
end;

end;


 
Reindeer Moss Eater ©   (2004-07-14 12:31) [11]

Ну и еще прочитай описание метода CheckForDisconnect


 
banderas ©   (2004-07-14 12:50) [12]

ВСЕ РАБОТАЕТ БОЛЬШОЕ СПАСИБО!!! :)



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

Форум: "Сети";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.038 c
14-1093807996
Феликс
2004-08-29 23:33
2004.09.19
Респект нашим спортсменам.


1-1094106119
/glokk
2004-09-02 10:21
2004.09.19
как грамотно проверить файл на возможность его открытия


3-1093079925
Господин Уэф!
2004-08-21 13:18
2004.09.19
Как построить на BDE файл серверную Базу?


11-1080637617
avakss
2004-03-30 13:06
2004.09.19
KoleDB+Access2000rus+Delphi7+Win2000rus


1-1093895732
d_oleg
2004-08-30 23:55
2004.09.19
Цвет TPanel под WinXP с включёнными visual styles





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский