Ich habe mich vor kurzem für Linux-Netzwerk-Programmierung interessiert und lese ziemlich viel (Beej's Guide to Network Programming). Aber jetzt bin ich verwirrt. Ich würde gerne etwas schreiben, um etwas Übung zu haben, aber ich weiß nicht genau was. Könnten Sie mir bitte ein paar Projekte empfehlen?
Danke.
Ich bin mir nicht sicher, wie intensiv Sie Ihre Linux Network Programming-Karriere beginnen möchten, aber wenn Sie nur mit dem Umgang mit Sockets beginnen wollen, sind die einfachsten Beispiele ein Producer / Consumer-Pairing oder ein Echo Server. Eine weitere gute Quelle wäre, einige der Beispiele / Aufgaben aus einer beliebigen Anzahl von Universitäts- / Universitätskursen über verteiltes Rechnen zu betrachten.
Dies könnte in einem Paar Terminals auf Ihrem Computer zum Testen ausgeführt werden. Erstellen Sie zwei Anwendungen:
Eine ähnliche Idee wie Hersteller / Verbraucher.
Schreiben Sie einen sehr einfachen dummen Webserver, der Verbindungen auf Port 80 akzeptiert und Rückseiten bedient.
Dann können Sie es erweitern, um andere Medien herunterzuladen (Bilder usw.).
Dann können Sie einen (vorgefertigten) Skriptsprachen-Interpreter hinzufügen, der Seiten in PHP, Perl usw. verarbeitet.
Sie werden dabei viel lernen.
Ich würde damit beginnen, ein einfaches Multiplayer-Spiel wie Tic-Tac-Toe zu entwickeln:
natürlich schlug ich Tic-Tac-Toe vor, aber Sie könnten ein anderes ähnliches Spiel wählen (mit einfachen Regeln). Der wichtige Teil ist, sich um viele Kunden zu kümmern, die auch in Paaren spielen (um Datenweiterleitung und Spiel zu handhaben) Verwalten) und Senden von Zuständen (wie Spieleliste) an Spieler.
Das Gute an diesem Beispiel ist, dass Sie ein Protokoll mit zwei Ebenen haben:
Ich schlage vor, irgendeine Seite des Computer-Netzwerks zu finden und die relevanten Aufgaben zu lösen. Dort finden Sie eine detaillierte Erklärung des Problems und Aufgaben werden in der zunehmenden Reihenfolge der Komplexität. Sie können solche Webseiten finden, indem Sie diese in Google "inurl: edu Computernetzwerk Labor Aufgaben" suchen. (ohne qoutes)
Hier sind einige ausgezeichnete Aufgaben (mit sehr detaillierten Erklärungen). Versuchen Sie, alle in dieser Reihenfolge zu implementieren.
Das zu lesende Buch ist Unix Network Programming von R. Stevens: Ссылка
Das zu erledigende Projekt ist ein TCP-Proxy oder ein Web-Proxy. Machen Sie es single-threaded, aber behandeln Sie natürlich mehrere Verbindungen. Sie sollten es in einer Woche Freizeitarbeit fertigstellen können.
Tags und Links c c++ linux network-programming