Netzwerkprogrammierung
-
Hallo,
ich möchte gerne so etwas wie ein einfaches chat programm für mein LAN programmieren. Ich habe aber keine Ahnung von Netzwerkprogrammierung.
Deshalb habe ich ein paar Fragen, die mir hoffentlich einer beantworten kann.Kann man mit C++/Cli, .NET Netzwerkprogrammierung machen oder sollte man als Anfänger vielleicht eine andere Sprache wählen?
Gibt es darüber gute Bücher oder Tutorials?
Wie habt ihr das gelernt?Vielen Dank für eure Tipps und Anregungen
sub
-
sub-elektro schrieb:
Kann man mit C++/Cli, .NET Netzwerkprogrammierung machen oder sollte man als Anfänger vielleicht eine andere Sprache wählen?
Kann man, aber ich würde dir empfehlen was anderes zu verwenden.
C# oder Python oder normales C++-ohne-CLI oder ... egal. Bloss nicht C++/CLI.Gibt es darüber gute Bücher oder Tutorials?
Wird sicher welche geben, ja.
Wie habt ihr das gelernt?
Referenzdoku, diverse Beispiele (MSDN, Google, Google-CodeSearch).
-
Kann man mit C++/Cli, .NET Netzwerkprogrammierung machen
Ja, kann man. Da in C++/CLI das .NET Framework genutzt werden kann, steht (wie jeder .NET Sprache) eine gute Unterstützung für Netzwerk Programmierung zur Verfügung.
sollte man als Anfänger vielleicht eine andere Sprache wählen?
Ja, unbedingt. Da kann ich nur von C++/CLI abraten. Einerseits ist es für Anfänger nicht geeignet da es viele Fallstricke gibt. Andereseits ist das Anwendungsgebiet für C++/CLI primär eine Verbindung zwischen managed und unmanaged Welt zu schaffen. Mehr nicht.
Ich halte C# und Java für anfängerfreundlich und praxisrelevant. Desshalb würde ich eines von beiden empfehlen. Natürlich kann auch C++ (Achtung: native und nicht C++/CLI) verwendet werden, insbesondere in Verbindung mit einer Networking Library wie z.B. Boost.Asio oder POCO.Gibt es darüber gute Bücher oder Tutorials?
Es gibt Bücher, suche z.B. bei Amazon. Wenn Du mit Google nach "C# Network Programming" suchst, findest Du etliche Hilfen.
Simon
-
Andereseits ist das Anwendungsgebiet für C++/CLI primär eine Verbindung zwischen managed und unmanaged Welt zu schaffen. Mehr nicht.
Das habe ich schon häufiger mal gelesen.
Kann mir bitte jemand sagen was das genau bedeutet?Danke und Grüße
sub
-
Zitat:
Andereseits ist das Anwendungsgebiet für C++/CLI primär eine Verbindung zwischen managed und unmanaged Welt zu schaffen. Mehr nicht.Das habe ich schon häufiger mal gelesen.
Kann mir bitte jemand sagen was das genau bedeutet?Danke und Grüße
sub
Falls z.B. in einem C# Projekt, welches dann ja auf .NET (Runtime, Typensystem, Framework, ...) basiert aus irgendwelchen Gründen eine in C++ geschriebene Komponente genutzt werden soll, muss eine Verbindung geschaffen werden, denn die C++ Komponente hat eine andere Runtime, ein anderes Memorymodell, ein anderes Typenmodell, etc.
Um diese Verbindung zu realisieren gibt es verschiedene Möglichkeiten, einige sind P/Invoke oder COM. Oder eben einen Interop Layer mit C++/CLI zu erstellen.
Simon