Показать сообщение отдельно
  #2  
Старый 06.11.2007, 19:47
zAlexandrz zAlexandrz вне форума
Прохожий
 
Регистрация: 06.11.2007
Сообщения: 1
Репутация: 10
По умолчанию

Еще вопрос по работе с сокетами в связке клиент-сервер.

Код такой


procedure TForm1.SendBtnClick(Sender: TObject);
begin
for i := 1 to 5 do
begin
ClientSocket.Port:=7777
ClientSocket.Address:=ip;
ClientSocket.Active:=true;
end;
end;

procedure TForm1.ClientSocketСlose(Sender: TObject);
begin
ClientSocket.close;
end;


т.е. при нажатии на кнопку клиент долженен по очереди установить и разорвать связь с пятью серверами.

Если без цикла (с одним сервером) то все работает

Во время выполнения процедуры порт открывается, сразу же происхоит переход к процедуре

procedure TForm1.ClientSocketСlose(Sender: TObject);

она обрабатывается, затем возврат обратно в прцедуру

procedure TForm1.SendBtnClick(Sender: TObject);


Порт закрывается, НО, все равно, только после завершения procedure TForm1.SendBtnClick(Sender: TObject);


Но как видно, мне необходимо во время работы процедуры открыть и закрыть порт несколько раз.

что делать ума неприложу :?:
Ответить с цитированием