Einzelnen Beitrag anzeigen

emteg

Registriert seit: 16. Jun 2005
71 Beiträge
 
Delphi 2009 Architect
 
#6

Re: [Indy10] Fehler beim senden mit UDP - Daten kommen zurüc

  Alt 12. Mai 2010, 09:33
Zitat von DataCool:
Hi,

hast Du meinen Post überhaupt gelesen ?
Ja hab ich, allerdings hab ich ihn nicht verstanden.

Zitat von DataCool:
D asteht ganz klar wo Dein Problem liegt:

Ein Verbindungsaufbau funktioniert nur von Client ---> Server. Nicht umgekehrt !
Deshalb muss Du in Deiner Client-Applikation TIdUdpClient bzw. TIdTcpClient benutzen und im Server TIdUDPServer bzw. TIdTcpServer.
Die Ereignisse ONUDPRead/OnExecute gibt es nur bei den Serverkomponenten, nicht bei den Clientkomponenten.
Weiß ich alles. Ich frage mich jetzt, wo du darauf kommst, dass ich es anders mache. Meine anwendung kann senden (id*Client) und empfange (id*Server). Und natürlich verwende ich zum senden die client komponenten und zum lauschen die server komponenten.

Delphi-Quellcode:
FTCPClient.IOHandler.WriteLn(Msg);
FUDPClient.Send(Msg);
Zitat von DataCool:
Mir scheint Du hast jeweils ein TIdUdpClient und TIdUdpServer in einer Anwendung/auf Deiner Form
und möchtest vom Client zum Server(nicht der Server auf Deiner Form) senden(soweit ok).
Aber um die Antwort zum Empfangen brauchst Du keinen extra Server das funktioniert über die gleiche "Verbindung".
Ja, ich weiß dass das geht, da würde man dann auf der empfänger seite sofort mit
AContext.Connection.IOHandler.WriteLn(Antwort) oder so ähnlich antworten. In dem Protokoll muss halt nicht immer zwangsweise ne antwort zurück kommen, deshalb habe ich das bisher nicht so gelöst. Eventuell könnte ich mein programm so umschreiben, dass die antworten sofort zurückgegeben werden.

Allerdings müsste es doch trotzdem auch so funktionieren, dass man die connection zu macht und dann zum antworten ne neue aufmacht, oder?

Zitat von DataCool:
DAmit wir Dir bei der Lösung Deines Problems helfen können brauchen wir ein paar mehr Infos,
für den Anfang wäre eine Erklärung was Du überhaupt vorhast/erreichen wilst nicht schlecht.
Des Weiteren würde mich auch interessieren, wo Du den Port setzt und welche Portnummer Du verwendest.
Außerdem könnntest Du das ganze mal debuggen und uns mitteilen welche IP-Adressen zum verbinden verwendet werden.

Greetz Data
Ich möchte ein simples text protokoll realisieren. Ich schicke strings über das netz (manchmal auch per broadcast) und eventuell kommt dann auch ne antwort zurück, eventuell auch nicht.

Die Ports habe ich direkt in den eigenschaften der komponenten angepasst und ich hab einfach mal 5000 ausgewählt, weil mir nichts besseres eingefallen ist.

Die IP adressen sind richtig, allerdings kommen die daten halt sofort zurück. Ich vermute wirklich, dass es an dieser merkwürdigen netzwerk konfig liegt, weil in einer anderen umgebung hat das ganze deutlich besser funktioniert. Da hatte ich dann eher damit ein problem, dass UDP + WLan schlecht zusammen geht

Für das Netzwerkproblem spricht auch, dass das problem auch nur in eine richtung besteht.
  Mit Zitat antworten Zitat