Einzelnen Beitrag anzeigen

Major1337

Registriert seit: 26. Jul 2009
158 Beiträge
 
#7

AW: Indy: Server an Client

  Alt 9. Jul 2010, 12:07
Danke, ich habe jetzt beim Server für jede Port eine Execute gemacht. Jetzt möchte ich mit dem Client eine Portadresse aus der Listbox auswählen - mit der er sich dann verbindet.

Delphi-Quellcode:

// Client

procedure TForm1.Button1Click(Sender: TObject);
begin


if not TCPClient.Connected then
TCPClient.Connect
else
TCPClient.IOHandler.WriteLn(Edit1.Text);

end;


procedure TForm1.ListBox1Click(Sender: TObject);
var i : Integer;

begin
  for i := 0 to ListBox1.Count - 1 do

  if ListBox1.Selected[i] then
  TCPClient.Port := StrToInt(ListBox1.Items.Strings[i]);

  end;
Delphi-Quellcode:

// Server

procedure TForm2.FormCreate(Sender: TObject);
begin

IDTCPServer1.DefaultPort := 10;
IDTCPServer1.Active := true;

IDTCPServer2.DefaultPort := 20;
IDTCPServer2.Active := true;
end;

procedure TForm2.IdTCPServer2Execute(AContext: TIdContext);
begin
Memo1.Lines.Add('Port: ' + IntToStr(IDTCPServer2.DefaultPort) + ' ' + acontext.Connection.IOHandler.ReadLN);
end;

procedure TForm2.IdTCPServer3Execute(AContext: TIdContext);
begin
Memo1.Lines.Add('Port: ' + IntToStr(IDTCPServer3.DefaultPort) + ' ' + acontext.Connection.IOHandler.ReadLN);
end;

usw.

Beim Server zeigt er mir aber so immer den selben Port an, jetzt weiss ich nicht wenn ich auf einem anderen Port sende, ob er tatsächlich über den Port senden und nur die falsche Portnummer anzeigt.

Geändert von Major1337 ( 9. Jul 2010 um 12:10 Uhr)
  Mit Zitat antworten Zitat