Entwickler-Ecke
Internet / Netzwerk - UDP Kommunikation
Flamefire - Mo 21.04.08 13:36
Titel: UDP Kommunikation
Ich brauche ein Programm welches über UDP mit einem anderen kommuniziert.
So weit ich das bisher gesehen habe, sende ich ein Packet an das Programm und erhalte ein Antwort packet.
Darum habe ich das über TUPDSocket gelöst.
Ich sende ein Packet "sendBuf()" und empfange dann eins "receivebuf()".
Das Problem ist, dass ich anscheinend ein Sleep von 10-30ms (keine Ahnung wieviel genau) brauche, bevor ich das Packet empfangen kann. Andernfalls erhalte ich eine Fehlermeldung (Error 10035 wenn ich mich nicht irre)
Gibt es keine Receivewait() oder was in der Richtung? Oder müsste ich die Selber schreiben (While-schleife)?
Oder geht das ganze mit ner andren Kompo besser (Indy vl?)
Wichtig ist eben dass ich ein Packet sende und dann dass letzte gesendete empfange.
Bei dem Thema gleich die Frage zu UDP:
Wie läuft das genau? Wenn ich nen Port aufmache (TUDPSocket auf active=true) und das andre Programm dann Daten schickt. Was ist mit den Daten? Landen die auf nem Stack von dem ich das erste mit ReceiveBuf() kriege (FIFO) oder krieg ich immer nur das letzte? Oder verfallen die einfach wenn ich nicht schnell genug receive?
Das OnRecv-Event der TUDPSocket Kompo. Wann wird das genn genau aufgerufen? Anscheinend nur wenn ich receiveBuf() aufrufe. Aber welchen Sinn hat das dann?
LexXis - Di 22.04.08 23:57
Ich hab mich noch nich genauer mit UDP auseinandergesetzt, aber mein Gefühl sagt mir, dass OnRecv aufgerufen wird, wenn Du was empfängst ;)
Danach solltest Du mit ReceiveBuf darauf zugreifen können.
Zum Thema FIFO: Verlass dich nicht drauf, dass die Pakete auch in der Reihenfolge empfangen werden, inder Du sie sendest!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!