Din mail tillader ikke exe filer så jeg har smidt den her:
http://www.kroning.dk/indychattest.zip Jeg poster det også her:
Jeg bruger Delphi 7 så du kan nok ikke bruge det direkte i D10, men som nævnt er der kun 10 linjer kode.
Kør exe filen 2 eller flere gange på samme computer (både server og klient er sat til localhost)
På en af dem trykker du på "Start server" knappen, på de andre trykker du på "Start klient", nu kan der trykkes på knappen "Send" på alle klienter og teksten sendes til serveren som så svarer tilbage til klienten.
----------
unit indychattestUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdCustomTCPServer, IdTCPServer, IdBaseComponent,
IdComponent, IdTCPConnection, IdTCPClient, IdContext, IdThread;
type
TForm1 = class(TForm)
IdTCPClient1: TIdTCPClient;
IdTCPServer1: TIdTCPServer;
btbStartServer: TButton;
btnStartKlient: TButton;
Memo1: TMemo;
btnSendTekst: TButton;
EditTekst: TEdit;
procedure btbStartServerClick(Sender: TObject);
procedure IdTCPServer1Execute(AContext: TIdContext);
procedure btnStartKlientClick(Sender: TObject);
procedure IdTCPServer1BeforeListenerRun(AThread: TIdThread);
procedure btnSendTekstClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btbStartServerClick(Sender: TObject);
begin
IdTCPServer1.Active:=true;
end;
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
strRequest: String;
begin
strRequest := AContext.Connection.IOHandler.ReadLn;
Memo1.Lines.Add('Modtaget fra klient: '+strRequest);
AContext.Connection.IOHandler.WriteLn('jowjow');
end;
procedure TForm1.btnStartKlientClick(Sender: TObject);
begin
IdTCPClient1.Connect;
end;
procedure TForm1.IdTCPServer1BeforeListenerRun(AThread: TIdThread);
begin
memo1.Lines.Add('Server startet');
end;
procedure TForm1.btnSendTekstClick(Sender: TObject);
var
Result : string;
begin
IdTCPClient1.IOHandler.writeln(Edittekst.Text);
Result:=IdTCPClient1.IOHandler.ReadLn;
Memo1.Lines.Add('Modtaget fra server: '+Result);
end;
end.