Sockets Frage

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Sockets Frage

    Tag,

    kann mir jemand auf die Sprünge helfen und sagen nach was ich gezielt suchen muss ? Ich habe mich mittlerweile durch ein paar sehr gute Socket Tutorials gewühlt und kann nun erfolgreich Daten versenden und empfangen. Jetzt wird es aber knifflig bei meiner Anwendung. Ich habe ca immer 4 UDP Packets die ich anfrage und dann auch bekomme. Das Problem ist: der rcvfrom call ist blockend, und ich hab nur ne while 1 davor, d.h. ich muss nach einer gewissen Zeit, nämlich wenn alle 4 Packets angekommen sind, irgendwie aus dem Programm rausresumen. Am besten wäre 2 Sekunden nachdem ich das letzte Packet empfangen habe. Nach was muss ich da suchen. Bin ich da mit asynchronous sockets richtig ? Und kann jemand ein gutes Tutorial empfehlen ?

    Und bitte nicht falsch verstehen, ich möchte halt nur nicht irgendwas anfangen zu lernen, bei dem sich dann am Ende herausstellt, dass es nicht das ist wonach ich suche.

    Viele Grüße
    z0
  • Ich bin in der Tat gerade auf dem Weg die Pthreads lib zu installieren und mal nen zweiten Thread zu erstellen. Yippie ^^

    So wie ich es vorhabe, und du kannst mich gerne verbessern, falls die select Methode schneller geht, werde ich einen Thread erstellen, der sich periodisch schlafen legt und wieder aufwacht. Falls beim rcvfrom Daten eingehen, werde ich die Uhrzeit notieren. Dadurch kann ich dann mit dem anderen Thread schauen, wann das letzte mal Daten auf dem Socket eingegangen sind. Ist wirklich ganz simpel, aber das war meine Idee.

    Mit select muss ich noch schaun, ob ich das irgendwie gebrauchen kann. Ich hab schon eine Timeout flag gesehn glaub ich, muss ich noch genauer schaun. Man darf mich, wie gesagt, auch gerne verbessern in meinem Vorhaben. Ich bin für Rat immer dankbar, aber um Uhrzeiten abzufragen werde ich wohl generell nicht herum kommen wie mir scheint, und da wird es wohl nix schnelleres geben als die PC Uhr abzufragen, was ich ja auch mache, also theorethisch dürfte es da nix schnelleres/effizienteres geben.

    Gruß
    z0