Socket: Select()
-
hallo,
kennt jemand ein gut verständliches tutorial über select()?
ist select() eigentlich so die beste methode für einen multiuser server?
oder gibt es bessere?
-
tyler- schrieb:
hallo,
kennt jemand ein gut verständliches tutorial über select()?
ist select() eigentlich so die beste methode für einen multiuser server?
oder gibt es bessere?Die üblichste und ansich auch ganz einfache Methode ist es einen Hauptprozess zu haben der per listen/accept auf eingehende Verbindungen wartet, die Verbidnung annimmt und forkt, so dass der Unterprozess sich ums Handling kümmert.
-
select ist z.b. bei einem chat server sehr praktisch: du hast 100 sockets und weist nicht, auf welchem was reinkommt. mit select kriegst du immer die richtigen raus
hast du aber einzelverbindungen (meine, dass die clients untereinander nichts senden/empfangen) dann ist multithreaded/mehrprozessig (heist das so?) besser
-
ist select den auch zu gebrauchen wenn man sich einen kleinen gameserver macht?
also ein beispiel ich hab auf windows ein game gemacht und das connected sich zum server, und das ist ja nicht nur ein client sondern mehr. der linux server fungiert als ein master server sozusagen.
-
das könnte sinn machen, gerade da ja die informationen sozusagen fast direkt an die anderen clients weitergeleitet werden soll.
-
hat auch jemand eine gute doku die auf select eingeht? also kann eine buch empfehlung sein oder ein tutorial, besser ist tutorial was weit in das thema select geht.
-
http://www.rt.com/man/ -> select (oder 'man 2 select')
was brauchst du mehr? auf www.zotteljedi.de ist ein gutes beispiel zu select (anwendung mit mehreren sockets)
-
"Programmieren von UNIX Netzwerken" von W. Richard Stevens. Ist das Standard-Werk zum Thema Netzwerkprogrammierung und du lernst neben select noch viele andere Methoden (ua. auch wie du andere multiserver schreiben kannst)
-
durch diesen text versteht man es sehr gut, imho.