Hallo,
ich hab ein Problem, ich muß bis Mittwoch nen kleinen Chat zusammengebastelt haben, einen Client und einen Server.
Ich benutze TcpClient und TcpServer aus dem "Internet" Reiter von Delphi 7 mit Indy hab ich das auch schon versucht zu basteln, hab ich auch nicht hinbekommen.
Mein Server kann an den Client keine Strings schicken bzw. dieser nimmt sie nicht an. Andersrum (Client zu Server) funzt es.
mein Funktionierendes Bsp:
empfangen mit
das break hab ich gemacht, weil er mir ohne in einer endloschleife das Memo vollschreibt mit leerzeichen, sobald der Client beendet wird (kann auch nicht ganz ok sein).
Und gesendet wird mit
Das haut ja alles schon mal hin.
aber andersrum klappt es einfach nicht, ich hab schon folgendes versucht:
dabei kackt mir der client aber ab.
und zum senden:
Der Client scheint den String garnicht zu empfangen, da ich versucht habe eine OnReceive Prozedur mit ner einfachen 'test' ausgabe zu erstellen, diese wird garnicht ausgeführt.
Bitte helft mir, ich komm einfach nicht weiter.
(übrigens hab ich nicht viel ahnung von Delphi *absoluteranfängerichbin*)
Vielen Dank schonmal im Voraus!
ich hab ein Problem, ich muß bis Mittwoch nen kleinen Chat zusammengebastelt haben, einen Client und einen Server.
Ich benutze TcpClient und TcpServer aus dem "Internet" Reiter von Delphi 7 mit Indy hab ich das auch schon versucht zu basteln, hab ich auch nicht hinbekommen.
Mein Server kann an den Client keine Strings schicken bzw. dieser nimmt sie nicht an. Andersrum (Client zu Server) funzt es.
mein Funktionierendes Bsp:
empfangen mit
Code:
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
begin
while ClientSocket.Connected= True do begin
MemoChat.Lines.Add(ClientSocket.Receiveln);
if ClientSocket.Receiveln = '' then begin
break;
end
end;
end;
Und gesendet wird mit
Code:
TcpClient1.Sendln(LineText);
aber andersrum klappt es einfach nicht, ich hab schon folgendes versucht:
Code:
procedure TForm1.BtnConnectClick(Sender: TObject);
begin
TcpClient1.RemoteHost:= InputIP.Text;
TcpClient1.RemotePort:= Port;
TcpClient1.Open;
while TcpClient1.Connected= True do begin
TcpClient1.Receiveln;
end;
end;
und zum senden:
Code:
TcpServer1.Sendln(LineText);
Bitte helft mir, ich komm einfach nicht weiter.
(übrigens hab ich nicht viel ahnung von Delphi *absoluteranfängerichbin*)
Vielen Dank schonmal im Voraus!