Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Senden mit UDP klappt nur einmal! (https://www.delphipraxis.net/22133-senden-mit-udp-klappt-nur-einmal.html)

DymonD 12. Mai 2004 21:31


Senden mit UDP klappt nur einmal!
 
Hallo, ich habe ein Problem. Ich versuche einen Inet-Chat zu programmieren, also mit Clients, die Text an einen Server sendet, der dann den Text an alle verbundenen Clients sendet. So, mein Problem ist es, dass wenn ich das erste Mal einen Text sende, der Server ihn empfängt und auch anzeigt, beim zweiten Mal hängt das Prog sich auf. Wieso passiert das?

Ich nutze die Indy-UDP-Komponente.

Und was ist beim Server die Option Broadcast? bedeutet das nicht dass der empfangene Text an alle Clients gesendet wird?

Bitte helft mir! Ich sitze schon seit Tagen an diesem Problem und probiere verschiedene Sockettypen aus aber nix klappt...

DymonD
:wall:

Nonsense 12. Mai 2004 21:45

Re: Senden mit UDP klappt nur einmal!
 
Zitat:

Zitat von DymonD
bedeutet das nicht dass der empfangene Text an alle Clients gesendet wird?

Ja.

alcaeus 13. Mai 2004 05:03

Re: Senden mit UDP klappt nur einmal!
 
Poste mal ein wenig Source, vielleicht hilft das mehr. Bei mir funzts mit den UDP-Komponenten ohne Probleme..

fiasko 13. Mai 2004 06:23

Re: Senden mit UDP klappt nur einmal!
 
Zitat:

Zitat von DymonD
Und was ist beim Server die Option Broadcast? bedeutet das nicht dass der empfangene Text an alle Clients gesendet wird?

Nein, das bedeutet nur das es an das LAN gebroadcasted wird, also maximal alle Rechner die du direkt ohne Router dazwischen erreichen kannst. Du schreibst aber du willst einen inet-Chat machen - dafür kannst du das nicht verwenden. Wenn das über's inet gehen soll würde ich lieber TCP/IP nehmen, grad beim inet ist es nur allzu wahrscheinlich das so ein paar UDP-Packete flöten gehen.

Dax 13. Mai 2004 06:23

Re: Senden mit UDP klappt nur einmal!
 
UDP verbindet sich als solches nicht mit anderen rechnern, sonden schickt die Daten nur ins Netzwerk. Da kann es sein, dass die Daten verloren gehen. TCP wäre als Protokoll für einen Chat viel besser, weil es eben Connections hat und verlorene Daten noch einmal gesendet werden können.

DymonD 13. Mai 2004 14:45

Re: Senden mit UDP klappt nur einmal!
 
hi,

schaut da mal hin, da is ein wenig source...

http://www.delphipraxis.net/internal...ct.php?t=15827

und außerdem was soll ich schreiben damit der das auch empfängt? das geht ja ned:

Delphi-Quellcode:
procedure TForm2.lese(Sender: TObject);
begin
  Form1.TcpServer1.OnReceive := Form2.JaDannLiesMal(Sender);
end;
da kommt ja zu einer Fehlermeldung:

[Fehler] Unit2.pas(70): Inkompatible Typen: 'TSocketDataEvent' und 'procedure, untyped pointer or untyped parameter'

dymond

Dax 14. Mai 2004 06:13

Re: Senden mit UDP klappt nur einmal!
 
Du solltest schon bei der Designzeit das Leseereignis erstellen, nicht erst zur Laufzeit zuweisen.

DymonD 1. Dez 2004 19:39

Re: Senden mit UDP klappt nur einmal!
 
Hi,
Oje, lange her, ich habe das schon fast vergessen :-D
Jedenfalls habe ich das dann letztendlich anders gelöst, mit TServerSocket und TClientSocket.

Gruß, Dima


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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