2016-04-27 8 views
0

Ich versuche, einen Multi-User-sequenziellen Server in c zu schreiben (ich denke, das heißt Round-Robin). Das Verhalten des Servers ist wie eine Wolke. Benutzer geben Befehle wie Upload und Download, teilen, unfreigeben. Und schließlich ist meine Frage ... Wie kann ich diese Befehle sequentiell in einer nicht blockierenden Weise verarbeiten? Ich meine, wenn Clients A und B eine Datei vom Server herunterladen möchten, wie kann ich ihnen Informationsbrocken auf nicht blockierende Art und Weise geben, bis sie alle benötigten Informationen haben? Könnten Sie mir bitte ein paar Tutorials oder nützliche Dokumentation geben?(Linux) Multi-User sequenzieller Server in c?

+0

Welches Betriebssystem? z.B. in Linux-Sockets und Forking-Child-Prozesse behandelt dies für Sie. – diidu

+0

Linux, aber ich möchte dies ohne Verwendung von Gabel tun. – slim99

+0

Dies und seine Fortsetzung ist sehr gut, obwohl ein bisschen alt, Artikel über Linux-Netzwerk-Programmierung: http://www.linuxjournal.com/article/2333. Ich empfehle Gabeln. Es ist großartig. – diidu

Antwort

0

Um Dinge nicht blockierend zu machen, müssen Sie poll() oder select() Systemaufrufe verwenden. Wenn Sie diese Aufrufe verwenden, lesen/schreiben Sie nur bei Bedarf, und daher werden die Lese-/Schreibaufrufe nicht blockiert.