![]() |
Indy Kommunikation
Hi,
also irgendwas mache ich falsch. Ich versuche gerade das Grundgerüst eines Chatprogrammes (einfaches TCP/IP) zu basteln. Ich benutze die Indys 9.0. Das ganze läuft derzeit auf einem Rechner, der sich selbst Nachrichten schreiben soll. Connecten kann er auch. Nun ist aber das Problem, dass ich im Moment keine Idee habe, wie ich Strings versenden und empfangen kann. Hat da jemand ein wenig Source ("Ein bisschen Source, bitte...")? Wäre euch dankbar, Chris |
Re: Indy Kommunikation
Hai Chris,
Souce habe ich jetzt leider keine. Aber schaue dir doch einfach mal die Procedure Write des Indy TCP-Clients an. |
Danke... Das wird es vermutlich sein. Und wie empfange ich den String am Server?
Kann im Moment leider nichts ausprobieren, da ich im Moment nix installiert habe (Indys wollen nicht). Werde das aber, sobald es funktioniert, mal testen... Chris |
Schau Dir mal den Source zu meinem Demo Programm an. Das sollte Dir helfen.
![]() Wenn noch Fragen offen sind, dann helfe ich gerne weiter ;-) ...:cat:... |
Werde ich machen, sobald meine Indys laufen... ;)
Chris |
Das was du da vom Programm verlangst ist heftig!!! Woher soll ich mal eben die LMD-Tools nehmen??? ;) Schon klar. Kenne die Adresse...
Aber es kommt ja auf die innneren ... ähm ... die Indy-Kompos an... :mrgreen: Chris |
Hi sakura,
also ich habe mir das mal angesehen... An sich ist das ein sehr schönes Tool, aber irgendwie hilft es mir nicht wirklich. Ich verliere da ein wenig die Übersicht. Ich muss sagen, dass mir ein Tipp reicht, der mir sagt, wie ich sende (hat sich ja bereits erledigt) und wo und wie ich die gesendeten strings im Server wieder auffange und ausgebe... Chris |
warum willst du unbedingt die indy's nehmen?
nimm clientsocket und serversocket. da kannst du zum senden einfach SendString nehmen, und zum empfangen gibts ein schönes onreceive ereignis. |
Würde ich auch liebend gerne, aber leider werde ich ein Instant Messenger mit einem Kollegen programmieren und wir werden diesen auf einem Schulrechner programmieren. Auf diesem ist aber nur die Personal-Version drauf. Und in der Personal ist Client und ServerSocket nicht drin (soweit ich weiß). Außerdem sind die Indys an sich deutlich besser. Besonders wegen Sachen wie AntiFreeze. Des Weiteren sind diese Sachen einfach, aber leider etwas komisch... Keine Ahnung, wie ich das sagen soll... ;)
Chris |
Zitat:
@Chakotay: Morgen werde ich das noch einmal in Ruhe durchgehen und Dir die entsprechenden Tipps geben. Sorry, ich bin einfach zu fertig heute Abend :? ...:cat:... |
Hi sakura,
genau das wollte ich eigentlich gesagt haben... ;) Schon mal danke im Vorraus... Chris |
Hai Chris,
die TIdTCPServer Kompo hat ein Event mit dem Namen: OnExecute. Dort bekommst Du AThread vom Typ TIdPeerThread. Und jetzt.... achtung......es geht los....
Delphi-Quellcode:
P.S.: Bei den Demos für die Indys ist auch ein Chat dabei.
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var msg : String; begin msg := aThread.Connection.ReadLn; end; |
Hi,
aha... Danke. Tja, habe mir doch gedacht, dass es so einfach ist... ;) Werde das gleich mal ausprobieren. Leider habe ich die Chat-Demo nirgends gefunden, aber werde mir gleich die Demos zu Indy 9 holen und da noch mal gucken... Chris |
und wie macht man genau sowas:
Delphi-Quellcode:
mit dem TIdTCPClient ?
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var msg : String; begin msg := aThread.Connection.ReadLn; end; Thx Spoon |
Du musst mit dem Client einfach eine Verbindung herstellen und einem aktiven Server mit
Delphi-Quellcode:
eine Nacricht zu kommen lassen....
IdTCPClient1.WriteLn('Dein String' + #$A); // #$A ist das, was bei readln vom Server als erster Parameter kommt. Standardmäßig eben #$A
Chris |
daten senden kann ich, aber wie empfange ich per Client ??
Da fehlt mir nämlich genau dieses OnExecute Event des Server :( Thx Spoon |
Öhm... Das kann aber irgendwie nicht sein... :?
Welche Version der Indys hast du denn? Am besten ist immer die neuste zu haben. Lad dir einfach von ![]() Chris |
Zitat:
|
jeder rechner ist einfach server und client gleichzeitig
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz