unix domain sockets: packetverlust mit SOCK_DGRAM?
-
ich schreibe gerade eine anwenundg mit unix domain sockets. dabei ist mir aufgefallen, dass datagramm sockets für mich viel besser geeignet sind, als stream-sockets. die beliebige reihenfolge ist egal und das auslesen immer nur eines paketes ist gewollt.
aber können dabei auch pakete verloren gehen? es heißt immer nur, sock_dgram ist "unzuverlässig". gibt es noch andere faktoren, die ich vergessen habe?mfg und danke schonmal
-
Hallo,
ja, die Zustellung ist nicht garantiert und man muss damit rechnen, das Paket eventuell mehrere Male abzuschicken. Manchmal kommt auch ein verlorengeglaubtes Paket eine halbe Stunde später an, damit muss der Empfänger auch rechnen.
-
GNU-Fan schrieb:
Hallo,
ja, die Zustellung ist nicht garantiert und man muss damit rechnen, das Paket eventuell mehrere Male abzuschicken.
wie kann das eigentlich sein, dass mein betriebssystem auf dem weg vom einen socket zum anderen socket pakete verliert? oder verstehe ich da etwas nicht.
Manchmal kommt auch ein verlorengeglaubtes Paket eine halbe Stunde später an, damit muss der Empfänger auch rechnen.
das kann bei streams ja auch passieren.
mfg
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
spezialist schrieb:
wie kann das eigentlich sein, dass mein betriebssystem auf dem weg vom einen socket zum anderen socket pakete verliert? oder verstehe ich da etwas nicht.
Oh, ich muss gestehen, das unix domain überlesen zu haben. Da geht natürlich nicht ganz so viel verloren. Es wird aber immer noch keine Zustellung garantiert.
publib.boulder.ibm.com/html/as400/v4r5/ic2924/info/rzab6mst.pdf
gibt zum Beispiel als möglichen Grund an, dass mehr Daten geschrieben als gelesen werden und damit die Puffer volllaufen, so dass nichts mehr reinpasst.Wenn du aber wirklich Klarheit darüber willst, dann solltest du direkt auf der Mailingliste von den Entwicklern fragen, die Sockets für dein System implementiert haben. Die kennen es ja schließlich wie ihre Westentasche.
Manchmal kommt auch ein verlorengeglaubtes Paket eine halbe Stunde später an, damit muss der Empfänger auch rechnen.
das kann bei streams ja auch passieren.
Ja, aber dort wird einem ja die ganze Logistik abgenommen.