Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Как изменить порты у IDTCPClient и IDTCPServer


Автор: boobie 10.8.2013, 11:32
Как изменить порты у IDTCPClient и IDTCPServer?
Код

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdContext, Vcl.StdCtrls,
  IdBaseComponent, IdComponent, IdCustomTCPServer, IdTCPServer, IdTCPConnection,
  IdTCPClient;

type
  TForm1 = class(TForm)
    server: TIdTCPServer;
    Button1: TButton;
    client: TIdTCPClient;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure serverExecute(AContext: TIdContext);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 client.Disconnect;
 server.Active:=false;
 server.DefaultPort:=7000;
 client.Port:=7000;
 server.Active:=true;
 client.Connect;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  server.Active:=true;
  client.Port:=server.DefaultPort;
  client.Connect;
end;

procedure TForm1.serverExecute(AContext: TIdContext);
begin
form1.Caption:='0';
end;

end.


При нажатии на кнопку происходит дисконнект клиента, затем отключаю сервер, меняю порты на другие
Код

 server.DefaultPort:=7000;
 client.Port:=7000;

Включаю сервер, коннекчу клиент, вылетает ошибка. Ошибка вылетает при попытке клиента законнектится. Ip клиента установлен в "127.0.0.1" Что я делаю не так?

Автор: boobie 10.8.2013, 14:18
Кроме справки по indy ничего нет. Даже на английском.
Код

 server.Bindings.Clear;
 server.Bindings.Add.Port:=7000;

Вроде так менять... Так?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)