Оценить:
 Рейтинг: 0

Иcпользование API на Delphi 7

Год написания книги
2012
<< 1 2 3 4 5 6 7 8 9 10 ... 15 >>
На страницу:
6 из 15
Настройки чтения
Размер шрифта
Высота строк
Поля

«Socket . ReceiveText» – хранящий принятые с клиента данные.

Методы ServerSocket1:

Socket . Connections[i] . SendText – отправка на i-й клиент текста;

Open – активизация сервера (открытие сервера);

Close – деактивизация сервера (закрытие сервера).

(!) Каждый сокет имеет свойство «Socket . SocketHandle» – уникальный дескриптор данного сокета, используемый для идентификации клиента (в обработчике события «OnClientRead».

procedure TForm2.Button1Click(Sender: TObject);

{ Определяем порт и запускаем сервер }

begin

ServerSocket1.Close; ServerSocket1.Port := StrToInt(Edit1.Text); ServerSocket1.Open;

end;

procedure TForm2.Button2Click(Sender: TObject);

{ Останавливаем сервер }

begin

ServerSocket1.Close; ListBox1.Items.Text:='Server is stop.';

end;

procedure TForm2.ServerSocket1ClientError(Sender: TObject;

Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);

{ Произошла ошибка связи с клиентом }

begin

MessageDlg('Нет связи с клиентом', mtError,[mbOk], 0);

end;

procedure TForm2.ServerSocket1ClientRead(Sender: TObject;

Socket: TCustomWinSocket);

{ Получение данного с клиента }

begin

Listbox1.Items.Text:=Socket.ReceiveText;

end;

procedure TForm2.Button3Click(Sender: TObject);

{ Отправка данных на клиент }

label 1;

begin

with ServerSocket1.Socket do begin

if ActiveConnections=0 then goto 1;

if Connections[0].SendText(Memo1.Lines.text)=0 then

1: MessageDlg('Не могу отправить данные на клиент',

mtError,[mbOk], 0) else showmessage('Ok!');

end;

end;

procedure TForm2.ServerSocket1ClientConnect(Sender: TObject;

Socket: TCustomWinSocket);

{ Запрет доступа "вторым" клиентам }

begin

if ServerSocket1.Socket.ActiveConnections>1 then abort;

end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

{ Остановка сервера }

begin

ServerSocket1.Close;

end;
<< 1 2 3 4 5 6 7 8 9 10 ... 15 >>
На страницу:
6 из 15