.| Autor | Beitrag |
|---|---|
|
000 03.12.2002, 15:39 [HUI]-Tiger- |
Huhu ! Habe folgendes Prob: das sieht bei mir ca. so aus: soo das funktioniert auch alles, denn wenn ich den server starte und keine Clients connected sind, führe ich einfach accept aus, denn da ist ja der blocking call möglich. Sobald ein Client connectet, geht dann die "Serverschleife" los.
jetzt wollte ich gerne in der Schleife überprüfen, ob ein neuer Client connected, und zwar so:
so, geht aber leider nicht. Schätze mal ich hab wieder irgendwo nen riesen Denkfehler drin, also bitte sagt mir, wo er ist ;( .-.-.-. |
|
Profil || Suche |
|
001 03.12.2002, 17:30 Prefect |
Ich nehme mal an, "geht aber leider nicht" bedeutet, daß der Debugstring nie ausgegeben wird. Kehrt select() denn überhaupt zurück oder hängt das Programm in select() ewig? Je nachdem würde ich als erstes mal den Rückgabewert von select() überprüfen. Als nächstes stellt sich die Frage, was "acc" ist. Normalerweise muß acc der Wert der höchsten Socketnummer plus eins sein (in deinem Fall acceptSocket + 1). cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
002 03.12.2002, 17:45 [HUI]-Tiger- |
sry, das acc sollte acceptSocket heissen. Ich hab den Code geändert, dass es besser verständlich ist. select funzt immer. Warum muss da die "+1" dazu ? .-.-.-. Dieser Beitrag wurde am 03.12.2002 um 17:57 von [HUI]-Tiger- bearbeitet. |
|
Profil || Suche |
|
003 04.12.2002, 14:48 Prefect |
Unter Unix (die Windows-Variante ist ja nur Imitation, bin mir nicht sicher ob das da auch noch alles stimmt) ist fdset ein Bitfeld. FDs (Filedescriptors) sind ja einfach Zahlen, aufsteigend von 0 bis FD_MAX-1 oder so. Nun kann man in einem fdset jedem FD ein Bit zuordnen. Ist dieses Bit gesetzt, dann ist dieser FD im Set enthalten, wenn nicht dann eben nicht. Der erste Parameter für select() ist die Anzahl von Bits im fdset, die auf gültige Werte gesetzt sind. Der Kernel muß also nur die ersten n Bits im fdsets überprüfen. --- cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
004 04.12.2002, 15:28 [HUI]-Tiger- |
thx für die genaue erklärung, Prefect, ich habs verstanden mit dem +1 :]] .-.-.-. |
|
Profil || Suche |

