Wird die Socket-ID hochgezählt?
-
Hi,
ich habe ein Programm geschrieben, welches 10 Sockets annimmt und deren ID ausgibt. Dabei habe ich festgestellt, dass die ID's der Sockets in einer Reihe stehen (von 6 bis 15). Wenn z.B. der Socket mit der ID 9 die Verbindung abbricht, dann erhält der nächste angenomme Socket die ID 9.
Kann ich davon ausgehen, dass dies immer so ist, also dass die ID's in einer Reihe stehen und "Lücken" gefüllt werden (wie im Beispiel mit der ID 9), oder ist das auf anderen Systemen anders?
Getestet habe ich unter SuSE Linux, später soll es unter Debian laufen.MfG, Herr-Vorragend
-
Auf so etwas würde ich mich nicht verlassen. Wozu interessiert das auch?
-
was du als ID bezeichnest ist wahrscheinlich der filedescriptor... und der hängt davon ab, wieviele dateien du schon offen hast.
-
d.h. andere laufende Anwendungen können auch die Lücken füllen.
-
Herr-Vorragend schrieb:
Getestet habe ich unter SuSE Linux, später soll es unter Debian laufen.
Bei den beiden wird es wahrscheinlich keine großen Unterschiede geben, weil die ja nicht am Kernel direkt, oder zumindest nicht in diesen Bereichen rumhacken. Eine Frage wär eher was ist, wenn es auf anderen Architekturen läuft. Weiß zum Beispiel, dass auf Sparks die Diskriptoren meist im Bereich zwischen 1000-9999 liegen bei Linux aber im hunderttausend oder Millionenbereich.
Sagt jetzt nichts aus, wie das mit dem Hochzählen ist. Würd mich nicht drauf verlassen.