![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ClientSocket в Таймере [D7, XP]
Student85236 © (2009-06-19 17:41:00)Добрый день помогите с проблемой
у меня есть в локальной сети 5 машин с серверами на ServerSocket
пишу програмку клиент которая через опред время отправлять должна команду на эти сервера (текстовую строку)
использую код в таймере
привожу его
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ClientSocket1.Active := false;
ClientSocket1.Close;
n1:= ListBox1.Items.Count;
if n1=0 then timer1.Enabled:=false;
i1:=i1+1;
if not ClientSocket1.Active then ClientSocket1.Active := True;
ClientSocket1.Host:=listbox1.Items[i1-1];
ClientSocket1.address:=listbox1.Items[i1-1];
ClientSocket1.Socket.SendText('Hello');
ListBox2.Items.Add('connect '+ClientSocket1.Address );
if i1=n1
then
timer1.Enabled:=false
end;
но происходит только соединение а строка hello не уходит в чом проблема у меня? помогите пожалуйста.
Сергей М. (2009-06-19 20:13:00) [1]procedure TForm1.ClientSocket1Write(Sender: TObject;
Socket: TCustomWinSocket);
begin
Socket.SendText('R');
end;
Student85236 (2009-06-19 19:00:00) [2]procedure TForm1.ClientSocket1Write(Sender: TObject;
Socket: TCustomWinSocket);
begin
ClientSocket1.Socket.SendText('R');
end;
Student85236 (2009-06-19 17:59:00) [3]Спасибо а не могли бы вы показать куда это вставить в мой код?
Сергей М. (2009-06-19 17:53:00) [4]А его не надо ждать, оно само о себе заявит - вызовет назначенный тобой обработчик события.
Вот в обработчике и отправляй свою строку. Но не длиннее 8192 символа
Student85236 (2009-06-19 17:50:00) [5]а как дождаться его?
Сергей М. (2009-06-19 17:46:00) [6]Отправку сообщения следует выполнять НЕ ранее возникновения события OnWrite.