![]() |
Re: Nachricht vom Server an alle Clienten schicken
ja das TForm1... brauche ich, da sitzen ja TTcpServer und TTcpClient... ich hatte da ja ein beispielprog und der hatte auch ein Memo1.Text also muss es ja gehen...
aber was is mit UDP..? DymonD |
Re: Nachricht vom Server an alle Clienten schicken
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
also ich habe mal ein kleines Beispiel mit Delphi 7 vorbereitet... |
Re: Nachricht vom Server an alle Clienten schicken
hi,
nice nice... bloß dass er nix macht ^^ aber ich peil udp ned und es geht auch ned... aud außerdem soll das nicht im netzwerk sein sondern im inet, der soll das an alle aktive verbindungen senden.. wieso geht das bei mir ned??
Delphi-Quellcode:
oder soll ich das anders schreiben:
procedure TForm2.Button1Click(Sender: TObject);
begin //----------- Den Mist senden -------------- // hier stehen die senden-komponente Form1.TcpClient1.Sendln('DymonD sagt:'+Memo2.Text); Form2.Memo2.Text := ''; //----------- und beim Senden auch lesen --- Form2.Memo1.Lines.Add(Form1.TcpServer1.Receiveln); end;
Delphi-Quellcode:
erst wenns funzt wird der code eingebaut damit der server den string an alle clients sendet
procedure TForm2.Button1Click(Sender: TObject);
begin //----------- Den Mist senden -------------- // hier stehen die senden-komponente Form1.TcpClient1.Sendln('DymonD sagt:'+Memo2.Text); Form2.Memo2.Text := ''; //----------- und beim Senden auch lesen --- Form2.Memo1.Lines.Add(Form1.TcpClient1.Receiveln); end; DymonD |
Re: Nachricht vom Server an alle Clienten schicken
Ahso, du willst das Über das Inet machen....
nadann hilft die ip 255.255.255.255 auch nicht weiter. Da musst du dann die direkte IP Adresse des anderen Users eingeben. Aber das versenden über Internet mit den UPD Komonenten funzen auch ganz einfach, ich habe damit sogar mein eigene ICQ programmiert !! |
Re: Nachricht vom Server an alle Clienten schicken
hi...
Also muss ich doch die Indy UDP Komponente benutzen...? Aber wie empfange ich den text, der liest ihn ja nicht...? :wall: dymond ps: beim ersten senden sendet er das und empfängt sogar, wieso macht er es nicht beim 2. mal (dann hängt er...)?
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin //----------- Den Mist senden -------------- // hier stehen die senden-komponente Form1.IdUDPClient1.Send('DymonD sagt: '+Memo2.Text); Form2.Memo2.Text := ''; Form2.Memo1.Lines.Add(Form1.IdUDPServer1.ReceiveString); end; |
Re: Nachricht vom Server an alle Clienten schicken
schau dir mal mein beispiel an, da ist alles drin....
hibbert |
Re: Nachricht vom Server an alle Clienten schicken
dein beispiel funzt ned
DymonD |
Re: Nachricht vom Server an alle Clienten schicken
Erstens: Du kannst sowohl UDP- als auch TCP-Komponenten verwenden. Der Unterschied besteht nur im verwendeten Transportprotokoll.
Zweitens: Sag bitte genau was bei deinem Code nicht funktioniert? Compiliert er nicht, kommt ein Fehler beim Senden, Passiert gar nichts...? |
Re: Nachricht vom Server an alle Clienten schicken
hi,
geh ma da drauf, da habe ich die frage als ein neues thema gepostet.. ![]() so und nun der Quellcode: server starten geht, nachricht senden ned...
Delphi-Quellcode:
ich benutze UDP weil es einfacher geht.. ich habe es mit tcp/ip versucht aber es geht ned... vielleicht mache ich was falsch..?
procedure TForm2.Button1Click(Sender: TObject);
begin //----------- Den Mist senden -------------- // hier stehen die senden-komponente Form1.IdUDPClient1.Send('DymonD sagt: '+Memo2.Text); Form2.Memo2.Text := ''; end;
Delphi-Quellcode:
und empfangen mit tcp...
Form1.TcpClient1.Sendln('DymonD sagt: '+Memo2.Text);
Form2.Memo2 := ''; in Form1:
Delphi-Quellcode:
in Form2:
Form1.TcpServer1.OnReceive := Form2.JaDannLiesMal(Sender);
Delphi-Quellcode:
dymond
procedure TForm2.JaDannLiesMal(Sender: TObject);
begin // so und nun empfangen... Form2.Memo1.Lines.Add(Form1.TcpServer1.Receiveln); end; |
Re: Nachricht vom Server an alle Clienten schicken
Ist zwar schon etwas her, dass das Problem/der Fehler hier diskutiert wurde, aber ich denke, es ist ganz interessant.
Ich habe gerade mit Hilfe dieses Thread erfolgreich eine UDP C/S-Umgebung gestrickt, und bin auch über den Fehler mit dem Datentyp TIdSocketHandle gestolpert. Ich habe es auch mit der Typendeklaration probiert. Das funktioniert auch soweit ganz gut, aber man kann so nicht auf die Eigenschaften der Klasse zugreifen. Der Parameter ABinding in UDPRead ist quasi unwichtig, aber hinter ihm verbergen sich ganz interessante Eigenschaften (PeerIP, etc). Ich habe einfach in die Uses-Klausel die Unit IdSocketHandle aufgenommen, und die Typendeklaration wieder gelöscht. Da konnte ich das auch kompilieren. Der besagte Datentyp wird in dieser Unit deklariert, sie wird nur nicht automatisch in die Klausel aufgenommen, und muss manuell hinzugefügt werden. Hoffe es hilft... :-D Gruß Christan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 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