Edit2 -порт TCP/IP;
Memo1 – посылаемые на сервер данные;
ListBox1 – получаемые с сервера данные;
Button1 – активизация клиента (подключение);
Button2 – посылка данных;
Button3 – отключение клиента.
Свойства ClientSocket1:
ClientType – тип передачи данных по протоколу TCP/IP (блочная передача, не блочная);
Active – открытие/закрытие связи с сервером (сокета);
Address – IP адрес сервера TCP/IP;
Host – имя сервера TCP/IP (задается либо адрес, либо хост сервера);
Port – номер порта TCP/IP сервера;
Socket – объект доступа к сокету.
События ClientSocket1:
OnConnect – подключение к серверу;
OnDisconnect – отключение от сервера;
OnError – ошибка при подключении к серверу;
OnRead – чтение данных с сервера.
В процедуры-обработчики данных событий
передается параметр «Socket» типа
“TCustomWinSocket”. Данный параметр имеет
свойство «Socket . ReceiveText» – хранящий принятые с сервера данные.
Методы ClientSocket1:
Socket . SendText – отправка текста на сервер;
Open – подключение к серверу (открытие сокета);
Close – отключение от сервера (закрытие сокета).
procedure TForm1.Button1Click(Sender: TObject);
{ Подключение к серверу }
begin
{ Если соединение уже установлено – прерываем его }
ClientSocket1.Close;
{ Устанавливаем не блочную передачу/прием данных }
ClientSocket1.ClientType:=ctNonBlocking;
{ Присваиваем свойствам Address и Port нужные значения }
ClientSocket1.Address := Edit1.Text; ClientSocket1.Port := StrToInt(Edit2.Text);
{ Пытаемся открыть сокет и установить соединение с сервером }
ClientSocket1.Open;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
{ Отключение от сервера }
begin
ClientSocket1.Close;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
{ Прием текста от сервера }
begin
ListBox1.Items.Text:=Socket.ReceiveText;
end;
procedure TForm1.Button2Click(Sender: TObject);
{ Отправка текста на сервер }