So habe jetzt ein bissl weiter gearbeitet und weis einfach nicht mehr weiter hier die codes vom client und server:
Client:
Code:
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit2.Enabled := false;
Button1.Enabled := false;
Edit1.Enabled := false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
IdTCPClient1.Host := Edit3.Text;
IdTCPClient1.Port := 9099;
IdTCPClient1.Connect; // add a timeout here if you wish, eg: Connect(3000) = timeout after 3 seconds.
Button2.Enabled := false;
Edit3.Enabled := false;
Edit2.Enabled := true;
Button1.Enabled := true;
end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_RETURN then
Begin
if edit1.Text <> '' then
Begin
IdTCPClient1.WriteLn(edit1.text);
edit1.text := '';
End;
End;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Enabled := false;
Button1.Enabled := false;
Edit1.Enabled := true;
end;
procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
Memo1.Lines.Add(IdTCPClient1.ReadLn);
end;
end.
server:
Code:
var
Form1: TForm1;
clients: TList;
implementation
{$R *.dfm}
procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
begin
broadcast('hallo');
clients.Add(athread);
end;
procedure TForm1.broadcast(msg:string);
var
i:integer;
begin
for i := 0 to clients.Count -1 do begin
TidPeerThread(clients.Items[i]).Connection.WriteLn(msg);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Binding : TIdSocketHandle;
begin
IdTCPServer1.Bindings.Clear;
Binding := IdTCPServer1.Bindings.Add;
Binding.IP := idIPWatch1.LocalIP;
Binding.Port := 9099;
IDTCPServer1.Active := true;
end;
end.
wenn ich connecte will ich das der server mir hallo schickt, das soll der client lesen und dann in die memo einfügen. doch alles was passiert ist, dass eine fehler meldung aufpoppt mit dem folgendem inhalt:
Connection closed Gracefully
könnt ihr mir bitte weiterhelfen, ich habe echt kein plan mehr was ich tun soll...obwohl ich glaube das die antwort ein kinderspiel ist T_T
und wenn wir schonma dabei sind, wo muss ich was einfügen, dass der server eine message, die er empfangen hat, sendet? in: IdTCPServer1Exception???
mfg
mangaka