ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
5593
5593
EMPFEHLEN
-
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) ****t 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).Code :1 2 3 4 5 6 7 8 9 10
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
Das haut ja alles schon mal hin.Code :1
TcpClient1.Sendln(LineText);
aber andersrum klappt es einfach nicht, ich hab schon folgendes versucht:
dabei kackt mir der client aber ab.Code :1 2 3 4 5 6 7 8 9
procedure TForm1.BtnConnectClick(Sender: TObject); begin TcpClient1.RemoteHost:= InputIP.Text; TcpClient1.RemotePort:= Port; TcpClient1.Open; [COLOR=red]while TcpClient1.Connected= True do begin TcpClient1.Receiveln; end;[/COLOR] end;
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.Code :1
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!Was passiert mit dem Loch, wenn der Käse weg ist?
-
08.07.03 13:00 #2
- Registriert seit
- Apr 2001
- Ort
- Hamburg
- Beiträge
- 1.309
Deine ganzen while-Schleifen solltest du erstmal rausnehmen, die sollten alle in Endlosschleifen enden.
Da du, wie schon gesagt, noch nicht so viel Erfahrung mit Delphi hast, empfehle ich dir die ClientSocket und ClientServer Komponenten, die sind für einen einfachen Text-Chat besser geeignet.--
GNU/Linux - Weil man echte Freunde nicht kaufen kann
-
Sind das auch Non-Visual Komponenten? und wo bekomm ich die her?
Oder weiß einer ein richtig einfaches Tut, mit dem ich das hinbekomme? ich hab schon dieses hier versucht, ich bekomm aber garnichts hin. Das Indy Beispiel, welches man sich von der Homepage laden kann, wird bei mir nicht mal vernünftig kompiliert.Was passiert mit dem Loch, wenn der Käse weg ist?
-
27.10.03 18:31 #4
- Registriert seit
- Jan 2003
- Ort
- Alfter, das Dach der Welt
- Beiträge
- 31
Hm ich glaube bei Delphi7 sind die nicht mehr dabei ...
aber mal was anderes: ich habe das gleiche Problem mit dem Lesen bei der Indy Client Komponente. Es existiert kein OnReceive oder OnExecute Event. Wie soll ich dann bemerken, dass eine Server antwort gekommen ist? Soll ich vielleicht doch eine Endlosschleife (bzw. Schleife, die bis zum Disconnect läuft) bauen, die dann ständig ReadLn auf den Socket ausführt? Die müsste dann, denke ich, in einem seperaten Thread liegen. Stopt das ReadLn denn den Code bis auch wirklich etwas ausgelesen wurde? Hoffe, dass jemand antworten kann...
mfg Lars
Ähnliche Themen
-
Bitte Hilfe zu TcpClient/TcpServer
Von -H-T-P- im Forum Borland CBuilder und VCLAntworten: 6Letzter Beitrag: 12.01.09, 19:39 -
Helft mir. Bitte!
Von macropode im Forum C/C++Antworten: 12Letzter Beitrag: 16.02.05, 16:49 -
Helft mir bitte...
Von Stylehallo im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 16.11.03, 12:04 -
Ah bitte helft mir :(
Von Interritor im Forum PHPAntworten: 3Letzter Beitrag: 19.08.02, 16:44 -
helft mir bitte !!
Von Budera im Forum 3D Studio MaxAntworten: 1Letzter Beitrag: 09.07.01, 09:52





Zitieren
Login





