C++ network programming
Hey, ich möchte mein wissen erweitern in C++, so das erste, was ich mache, ist Netzwerk-Programmierung.
Möchte ich einen IRC-bot(was hoffentlich belehren Sie mich über socket-Programmierung und Netzwerk-Themen), aber ich habe keine Ahnung, wo zu beginnen. Wenn jemand könnte mir erklären, wie IRC-bots arbeiten und wie man Sie machen, und mich direkt auf einige Ressourcen, das wäre wirklich toll. Einfache snippets wäre genial...
Dank!
edit:
vergessen zu erwähnen, dass ich ubuntu, so dass der windows-Weg ist keine option
- Das Lesen eines Buches über sockets und TCP/IP wäre sein Favorit.
- Nach 6 Jahren, was für Sie gearbeitet? Können Sie es freigeben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verstehen, buchsen und verwenden Sie Sie richtig, Sie müssen Die Buchsen Bibel:
W. Richard Stevens, Unix Network Programming, Volume 1: The Sockets Networking API (3. Auflage)
Müssen Sie unbedingt über dieses Buch, bevor Sie sich hinsetzen zu schreiben, die eine Zeile des sockets code. Don ' T leave home ohne Sie. Wirklich. Ab etwa $35 verwendet Amazon.
EDIT: Der OP fragte nach den anderen Bänden. Hier sind zwei andere:
W. Richard Stevens,
UNIX Network Programming, Volume 2:
Interprocess Communications (2.
Edition)
W. Richard Stevens,
TCP/IP Illustrated, Vol. 1: Die
Protokolle
Sind Sie von Stevens gewohnt und erwartet hervorragende Qualität. Ich weiß nicht, was seine Pläne waren für die Integration aller dieser Bücher,
boost.asio ist (meiner Meinung nach) die de-facto-standard für das erstellen plattformunabhängiger Netzwerk-code in der modernen C++.
std::vector<>
undstd::string
vor der raw-Pointer/C-arrays und C-strings, ich glaube, man sollte schreiben, zu steigern.asio-Programme zuerst, dann lernen Sie traditionelle sockets danach.Meine Empfehlungen:
Ich würde zunächst schreiben, der bot in fast-zu-schreiben, leistungsstarken high-level-Sprache wie python. Den Umgang mit den net tools, die IRC-Protokoll und so.
Erfahren Sie mehr über sockets und Vernetzung auf niedrigem Niveau. Für Unix, ich würde sagen, werfen Sie einen Blick auf Unix Network Programming.
Schreibe deinen bot in C++! Fehler machen, Sie zu beheben, und halten Sie es.
Ist der beste Führer, um zu lernen, socket-Programmierung in C/C++ muss Beej ' s Guide to Network Programming bei weitem. Es geht durch alle Schritte, die Sie wissen müssen, sowohl mit Beispielen und detaillierten Beschreibung. Soweit ich weiß, nur die Informationen, die diese Website fehlt, ist der IPv6-Multicasting.
Starten Sie mit einem einfachen client-server-Beispiel. Es ist sehr einfach mit dem Qt-framework. Zum Beispiel:
server.cpp:
client.cpp:
Alles, was Sie tun müssen, ist die Ausführung des ersten Programms in einem terminal-Fenster, und die zweite in der anderen.
Finden Sie weitere Qt-Netzwerk-Beispiele hier