Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 07:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C++] Netzwerkprogrammierung? (Bücher)

Discussion on [C++] Netzwerkprogrammierung? (Bücher) within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1

 
Terreox's Avatar
 
elite*gold: 155
Join Date: Aug 2009
Posts: 628
Received Thanks: 153
[C++] Netzwerkprogrammierung? (Bücher)

Hallo Leute,
ich wende mich heute mit einer Frage an euch
Ich würde gern in nächster Zeit mit der Netzwerkprogrammierung in C++ anfangen und suche Resourcen zum Selbststudium.
Ich hab schon viele online tutorials gesehen die speziell an die WinSocks gerichtet waren. Dazu hätte ich direkt mal eine Frage.
Gibt es nur den einen Weg über OS-interne Mittel im Netz zu kommunizieren? Ich möchte mich nicht so gerne auf ein OS beschränken und bei Netzwerkprogrammierung habe ich nicht so viel Ahnung, aber muss man wirklich für jedes System, auf das man die Software laufen lassen will, die entsprechenden Sockets benutzen? Ich stell mir das ziemlich aufwendig vor, wenn man z.B. für Linux, Win und Mac entwickeln will und drei z.T. verschiedene Programme liefern muss.

Zu meiner zweiten Frage: Gibt es gute Bücher für die Netzwerkprogrammierung in C++, die ihr empfehlen könnt. Ich arbeite gern mit Büchern und mag die z.T. schlecht geschriebenen Online Tuts nicht wirklich.

Danke schonmal im Vorraus!
Terreox is offline  
Old 07/03/2012, 08:46   #2


 
Xijezu's Avatar
 
elite*gold: 0
Join Date: May 2011
Posts: 5,086
Received Thanks: 3,472
Um dir die Frage mit den OS-Internen Mitteln zu beantworten:

Es gibt auch Plattformunabhängige Frameworks, wie z.B. QT oder GTK+.
QT zum Beispiel beinhaltet auch die Socketprogrammierung, diese ist aber, von dem was ich bisher gesehen habe, nicht wirklich umfangreich, aber komplett ausreichend.
Xijezu is offline  
Thanks
1 User
Old 07/03/2012, 11:10   #3
 
Mashkin's Avatar
 
elite*gold: 44
Join Date: May 2010
Posts: 2,053
Received Thanks: 1,747
Im Netz gibt es dazu schon einige Threads und Posts.

Die meistegenannten Mittel sind:
  • Boost.Asio
  • Apache Portable Runtime (APR)
  • und die BSD Socket API
    Dabei gilt aber zu beachten, dass Zeit und Aufwand nötig sind, um die den Code an systemspezifische Eigenheiten anzupassen (versch. Socket-Datentypen, Parameter etc.)
Ich weiß nicht genau, ob ich hier Links von anderen, gewissermaßen "konkuruierenden" Seiten einstellen darf, deswegen überlasse ich dir die Suche (sollte recht schnell gehen).
Mashkin is offline  
Thanks
1 User
Old 07/03/2012, 11:34   #4

 
Terreox's Avatar
 
elite*gold: 155
Join Date: Aug 2009
Posts: 628
Received Thanks: 153
Vielen Dank an euch 2 für eure Antworten

@Xijezu: Ich programmiere selber mit Qt seit einiger Zeit, nur noch nie mit Netzwerkanbindung. Mein Ziel ist es allerdings auch ohne Frameworks programmieren zu können. Ein Framework vereinfacht zwar vieles, aber ich lerne auch gerne die Wege ohne Frameworkhilfe kennen.

@M@shkin: Danke für die Hinweise, werde mir die Themen mal zu Gemüte führen
Terreox is offline  
Old 07/03/2012, 11:44   #5
 
elite*gold: 0
Join Date: Aug 2007
Posts: 4,043
Received Thanks: 2,551
Ich kann dir C++ von A bis Z empfehlen, ist ein relativ gutes Nachschlagewerk (gerade wenn man C++ schon kann.) im Buch ist auch eine größeres Kapitel der Netzwerkprogrammierung gewidmet.
Rainvair is offline  
Old 07/03/2012, 12:47   #6
 
elite*gold: 0
Join Date: Jun 2012
Posts: 187
Received Thanks: 58
Also entweder du schreibst dein eigenes Framework/wrapper oder du musst wohl für jedes OS anderen Code schreiben. Auf Windows gibts keine unix sockets und überall anders gibts keine WinSocks. Und da die meisten netzwerkprogramme mit multithreading wesentlich performanter arbeiten als singlethreaded musst du dann auch noch einen wrapper für windows und posix threads schreiben.

Edit: ja, du musst die OS-spezifischen sockets verwenden. die wiederrum sind dafür da, das du nicht direkt mit der netzwerkkarte bzw. dem netzwerktreiber reden musst, denn der ist je nach netzwerkkarte unterschiedlich.
tnd0 is offline  
Old 07/04/2012, 00:27   #7


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Mal nur als Einwurf:

Winsocks unterscheiden sich kaum von Linux Sockets.

Du kannst zwar mit Frameworks eine Abstraktion schaffen, aber letztendlich basiert alles immer auf dem OS, denn das bietet nunmal die Schnittstelle zur Hardware.
Du könntest dir das ganze natürlich auch selbst mit ein paar #ifdefs zusammenbauen, sodass du für jedes OS ne kleine Lib hast, aber da machen umfangreiche FWs schon mehr Sinn, da sie sicherer, effizienter und halt auch komfortabler sind.
Man muss ja nicht immer das Rad neuerfinden.
Da hast du dann halt nur das Problem, dass du ggf. Lizenzen beachten musst.

Quote:
und drei z.T. verschiedene Programme liefern muss.
Das musst du sowieso immer, da sich die Formate von ausführbaren Dateien unterscheiden. Das bleibt dir auch bei Frameworks nicht erspart, du musst dein Programm für jedes OS neukompilieren.
Sie nehmen dir halt nur die Abstraktion von den OS Mitteln ab, d.h. du musst den Code nicht mit #ifdefs zukleistern bzw. für jedes OS neuschreiben.

Quote:
mein Ziel ist es allerdings auch ohne Frameworks programmieren zu können. Ein Framework vereinfacht zwar vieles, aber ich lerne auch gerne die Wege ohne Frameworkhilfe kennen.
Dann kommst du natürlich nicht drum rum, die OS Möglichkeiten zu kennen.
Ich rate dir dennoch, dass du das nur zum Lernen so handhabst. Wenn es dann ums produktive Programmieren geht, solltest du lieber auf gute und bekannte FWs setzen, anstatt alles selbst zu machen.
MrSm!th is offline  
Thanks
1 User
Old 07/04/2012, 11:46   #8

 
Terreox's Avatar
 
elite*gold: 155
Join Date: Aug 2009
Posts: 628
Received Thanks: 153
Quote:
Originally Posted by MrSm!th View Post

Das musst du sowieso immer, da sich die Formate von ausführbaren Dateien unterscheiden. Das bleibt dir auch bei Frameworks nicht erspart, du musst dein Programm für jedes OS neukompilieren.
Das war mir auch klar

Danke für die ausführliche Erklärung, werde erstmal mit Qt weiterarbeiten und mir nebenbei die ganzen Winsocks/Unix-Sockets Geschichten anschauen.
Terreox is offline  
Reply


Similar Threads Similar Threads
C++ Bücher
08/22/2011 - C/C++ - 2 Replies
Hallo Leute ich wollte mal wissen welches C++ Buch für Einsteiger bis Fortgeschrittene zu empfehlen ist. Also von anfang an mit Hello World bis zu was richtig schwirigen ;). ich selber habe das C/C++ Kompendium: Das komplette Programmierwissen für Studium und Job. Aber ich suche ein Buch für ein Freund und ich weiß nicht ob dies für den Anfang bis ende zu empfehlen ist. Ich selber finde das Buch gut aber ich wollte fragen ob es noch was besseres gibt danke schonmal im Voraus :D
Bücher
04/25/2010 - Off Topic - 58 Replies
Hallo Offtopic Gemeinde Mein Aktuelles Buck ist zu ende und ich hab nicht mehr zu lesen, da die Serie zu ende ist. Ich lese Fantasy Romana am liebsten über mehrere Bänder. Ich mag es wen sie mit viel Splatter geschrieben werden. Ich habe von Markus heitz Ulddart Band 1-9 gelesen und von Anne Bishop 1-6 ( und noch 2 kleine Feuer, Scar Night ) nun jetzt such ich was neues da es da keine Bänder mehr gibt Könnt ihr was in der Richtung mir Raten?
Bücher
03/01/2010 - Off Topic - 5 Replies
Hallo erstmal. Ich suche ein Buch für meine GFS (referat) mit einem Deutschen Literaturpreis. Da ich schon sehr lange gesucht habe und nichts gefunden habe frage ich hier. Meine Interessen wären games vllt was mit Drogen etc... könnt ihr mir einpaar Bücher vorstellen. Bin echt am verzweifeln da ich seit 2Wochen suche. Spam wie suchs selber werden sofort reported. wie gesagt ich habe schon gesucht.
bücher
12/10/2009 - Metin2 Private Server - 2 Replies
was bringen eig. die ganzen bücher
Bücher
08/11/2005 - Off Topic - 6 Replies
Hi Wollte mal wissen ob nen paar von epvp lesen also bücher? und welche? Dann fang ich mal an also ich lese die discworld reihe und alle romane von walter moers (hoffe es kennen den einige) und grade faust und so, auch hp.



All times are GMT +1. The time now is 07:21.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.