App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
C++: Sockets / WinAPI(TCP/IP)
- Ersteller Nightshift
- Erstellt am
Nightshift
Grand Admiral Special
- Mitglied seit
- 19.08.2002
- Beiträge
- 4.447
- Renomée
- 81
- Standort
- Tief im Weeeeeesss-teheheheeen ;-)
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- SIMAP, Docking, POEM
- Lieblingsprojekt
- SIMAP
- Meine Systeme
- Ci7-3770K@3,8 GHz, C2Q 9550@3,4 GHz, AthlonII 620 X4 (+ 2x Ci3-2100, 2x C2D 8400, 9x A4-3420, E-450)
- BOINC-Statistiken
- Prozessor
- Ryzen 7 3700X @stock
- Mainboard
- Gigabyte X570 Aorus Elite
- Kühlung
- Noctua NH-D15 chromax.black
- Speicher
- 2x 16 GB Corsair Vengeance LPX (schwarz) PC4-25600U (DDR4-3200) CL16-18-18-36 @stock
- Grafikprozessor
- Powercolor RX 5700 Red Dragon @stock
- Display
- Eizo FlexScan EV2750
- SSD
- Corsair MP600 1TB M.2 NVMe | Kingston A2000 NVMe PCIe SSD 1TB | Samsung 850 EVO 500 GB
- Optisches Laufwerk
- LG BH16NS55| NEC AD-7203S
- Soundkarte
- onboard :-P der Hardwaregott habe meine Creative Audgiy 2ZS selig
- Gehäuse
- Nanoxia Deep Silence 5, schallgedämmt
- Netzteil
- be quiet! Straight Power E11 650W
- Tastatur
- Razer Ornata Chroma
- Maus
- Logitech Lift for Business
- Betriebssystem
- Win 10 Pro 64bit
- Webbrowser
- Firefox
- Verschiedenes
- rockstable & silent
- Schau Dir das System auf sysprofile.de an
Hi,
wollte mich in nächster Zeit mal an einem (C++) Programm mit Datenübetragung über TCP/IP ausprobieren.
Das Problem ist nur, dass es schwierig ist gute Dokumentationen, Bücher oder insgesamt gute Literatur zu finden.
Ich habe zwar im Internet hier und da ein bisschen was an Tutorials gefunden, aber ein richtig gutes Buch zum Thema Sockets und/oder WinAPI (für TCP/IP) (Deutsch oder englisch) würde ich dennoch bevorzugen.
Hat da jemand einen guten Tip für mich?
wollte mich in nächster Zeit mal an einem (C++) Programm mit Datenübetragung über TCP/IP ausprobieren.
Das Problem ist nur, dass es schwierig ist gute Dokumentationen, Bücher oder insgesamt gute Literatur zu finden.
Ich habe zwar im Internet hier und da ein bisschen was an Tutorials gefunden, aber ein richtig gutes Buch zum Thema Sockets und/oder WinAPI (für TCP/IP) (Deutsch oder englisch) würde ich dennoch bevorzugen.
Hat da jemand einen guten Tip für mich?
Terminatrix
Grand Admiral Special
- Mitglied seit
- 03.05.2004
- Beiträge
- 3.026
- Renomée
- 52
- Standort
- Hamburg
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- WCG
- Lieblingsprojekt
- WCG
- BOINC-Statistiken
Habe letzte Woche das erste Testprogramm für TCP/IP in der Schule geschrieben/erweitert. Ich kanns ja vllt. mal heute abend hier reinstellen. Ist allerdings C#!
Lynxeye
Admiral Special
- Mitglied seit
- 26.10.2007
- Beiträge
- 1.107
- Renomée
- 60
- Standort
- Sachsen
- Mein Laptop
- Lifebook T1010
- Prozessor
- AMD FX 8150
- Mainboard
- Gigabyte GA-970A-UD3
- Kühlung
- Zalman Reserator 1 Plus
- Speicher
- 4x8GB DDR3-1600 G.Skill Ripjaws
- Grafikprozessor
- ASUS ENGTX 260
- Display
- 19" AOC LM928 (1280x1024), V7 21" (1680x1050)
- HDD
- Crucial M4 128GB, 500GB WD Caviar 24/7 Edition
- Optisches Laufwerk
- DVD Multibrenner LG GSA-4167B
- Soundkarte
- Creative Audigy 2 ZS
- Gehäuse
- Amacrox Spidertower
- Netzteil
- Enermax Liberty 500W
- Betriebssystem
- Fedora 17
- Webbrowser
- Firefox
- Verschiedenes
- komplett Silent durch passive Wasserkühlug
So schwer ist das ganze gar nicht. Mit den Tutorials kann man schon sehr weit kommen. Und wenn dann noch Fragen auftauchen gibts zu fast allem schon in irgend einem Forum ne Antwort.
Bücher gibts da an Grundlagenwissen einzeln nicht viel, da man damit kein Buch vollbekommen würde. Deswegen werden da immer spezielle Themen behandelt.
Die Tutorials von C-Worker sind zwar inzwischen leicht veraltet, aber für den Einstieg immer noch zu empfehlen.
Bücher gibts da an Grundlagenwissen einzeln nicht viel, da man damit kein Buch vollbekommen würde. Deswegen werden da immer spezielle Themen behandelt.
Die Tutorials von C-Worker sind zwar inzwischen leicht veraltet, aber für den Einstieg immer noch zu empfehlen.
Nightshift
Grand Admiral Special
- Mitglied seit
- 19.08.2002
- Beiträge
- 4.447
- Renomée
- 81
- Standort
- Tief im Weeeeeesss-teheheheeen ;-)
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- SIMAP, Docking, POEM
- Lieblingsprojekt
- SIMAP
- Meine Systeme
- Ci7-3770K@3,8 GHz, C2Q 9550@3,4 GHz, AthlonII 620 X4 (+ 2x Ci3-2100, 2x C2D 8400, 9x A4-3420, E-450)
- BOINC-Statistiken
- Prozessor
- Ryzen 7 3700X @stock
- Mainboard
- Gigabyte X570 Aorus Elite
- Kühlung
- Noctua NH-D15 chromax.black
- Speicher
- 2x 16 GB Corsair Vengeance LPX (schwarz) PC4-25600U (DDR4-3200) CL16-18-18-36 @stock
- Grafikprozessor
- Powercolor RX 5700 Red Dragon @stock
- Display
- Eizo FlexScan EV2750
- SSD
- Corsair MP600 1TB M.2 NVMe | Kingston A2000 NVMe PCIe SSD 1TB | Samsung 850 EVO 500 GB
- Optisches Laufwerk
- LG BH16NS55| NEC AD-7203S
- Soundkarte
- onboard :-P der Hardwaregott habe meine Creative Audgiy 2ZS selig
- Gehäuse
- Nanoxia Deep Silence 5, schallgedämmt
- Netzteil
- be quiet! Straight Power E11 650W
- Tastatur
- Razer Ornata Chroma
- Maus
- Logitech Lift for Business
- Betriebssystem
- Win 10 Pro 64bit
- Webbrowser
- Firefox
- Verschiedenes
- rockstable & silent
- Schau Dir das System auf sysprofile.de an
Ok, danke euch schon mal für die Antworten. Hab schon kürzlich einige Tutorials rausgesucht, werde mich dann erstmal mit denen beschäftigen.
Tips zu "greifbarer" Literatur sind aber weiterhin willkommen, kann z.B. auch einfach ein Buch zur WinAPI insgesamt sein in dem auch das Handling mit TCP/IP beschrieben wird.
Das Buch sollte dann nur auch insgesamt gut genug sein.
Tips zu "greifbarer" Literatur sind aber weiterhin willkommen, kann z.B. auch einfach ein Buch zur WinAPI insgesamt sein in dem auch das Handling mit TCP/IP beschrieben wird.
Das Buch sollte dann nur auch insgesamt gut genug sein.
Lynxeye
Admiral Special
- Mitglied seit
- 26.10.2007
- Beiträge
- 1.107
- Renomée
- 60
- Standort
- Sachsen
- Mein Laptop
- Lifebook T1010
- Prozessor
- AMD FX 8150
- Mainboard
- Gigabyte GA-970A-UD3
- Kühlung
- Zalman Reserator 1 Plus
- Speicher
- 4x8GB DDR3-1600 G.Skill Ripjaws
- Grafikprozessor
- ASUS ENGTX 260
- Display
- 19" AOC LM928 (1280x1024), V7 21" (1680x1050)
- HDD
- Crucial M4 128GB, 500GB WD Caviar 24/7 Edition
- Optisches Laufwerk
- DVD Multibrenner LG GSA-4167B
- Soundkarte
- Creative Audigy 2 ZS
- Gehäuse
- Amacrox Spidertower
- Netzteil
- Enermax Liberty 500W
- Betriebssystem
- Fedora 17
- Webbrowser
- Firefox
- Verschiedenes
- komplett Silent durch passive Wasserkühlug
Sockets haben auch unter Windows nicht viel mit der WinAPI zu tun. Außer das man unter Windows noch die Winsock DLL initalisieren muss sind die Unterschiede nur sehr gering. Der Berkley Socket Standard gilt auf UNIX Systemen genauso wie auf Windows. Deshalb unterscheidet sich die Programmierung da fast überhaupt nicht, weshalb das auch genau nix mit der WinAPI zu tun hat.
flybyray
Vice Admiral Special
Tips zu "greifbarer" Literatur sind aber weiterhin willkommen, kann z.B. auch einfach ein Buch zur WinAPI insgesamt sein in dem auch das Handling mit TCP/IP beschrieben wird.
ACE
Diese Programmiertools sind alle unter der Leitung von Douglas C. Schmidt entstanden und sind Opensource.
Auch sehr bekannt TAO. Eine realtime CORBA implementierung.
Dieser Prof hat auch einige gute Bücher geschrieben bzw. ist Co-Author.
1:
Schmidt, Douglas C.: C++ network programming - Volume 1: Mastering Complexity with ACE and Patterns
2:
Schmidt, Douglas C.: C++ network programming - Volume 2: Systematic reuse with ACE and frameworks
Ein weiteres von dem Professor empfohlenes Buch ist.
3:
Huston, Stephen D.: The ACE programmer's guide
Das 1. Buch beschreibt auch die Socket API. Diese ist tatsächlich weitestgehend unabhängig vom Betriebssystem. Hier werden auch die Schwächen dieser Socket API aufgezeigt.
Leider weiß ich nicht ob das Buch auch ins Deutsche übersetzt verfügbar ist.
Die Frameworks sind wirklich extrem gut in bestehende (häufig verwendete) Entwicklungsumgebungen zu integrieren wegen der Verwendung von The Makefile, Project and Workspace Creator. Also auch mit Visual Studio 2005/2008 gut zu verwenden.
Zuletzt bearbeitet:
Nightshift
Grand Admiral Special
- Mitglied seit
- 19.08.2002
- Beiträge
- 4.447
- Renomée
- 81
- Standort
- Tief im Weeeeeesss-teheheheeen ;-)
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- SIMAP, Docking, POEM
- Lieblingsprojekt
- SIMAP
- Meine Systeme
- Ci7-3770K@3,8 GHz, C2Q 9550@3,4 GHz, AthlonII 620 X4 (+ 2x Ci3-2100, 2x C2D 8400, 9x A4-3420, E-450)
- BOINC-Statistiken
- Prozessor
- Ryzen 7 3700X @stock
- Mainboard
- Gigabyte X570 Aorus Elite
- Kühlung
- Noctua NH-D15 chromax.black
- Speicher
- 2x 16 GB Corsair Vengeance LPX (schwarz) PC4-25600U (DDR4-3200) CL16-18-18-36 @stock
- Grafikprozessor
- Powercolor RX 5700 Red Dragon @stock
- Display
- Eizo FlexScan EV2750
- SSD
- Corsair MP600 1TB M.2 NVMe | Kingston A2000 NVMe PCIe SSD 1TB | Samsung 850 EVO 500 GB
- Optisches Laufwerk
- LG BH16NS55| NEC AD-7203S
- Soundkarte
- onboard :-P der Hardwaregott habe meine Creative Audgiy 2ZS selig
- Gehäuse
- Nanoxia Deep Silence 5, schallgedämmt
- Netzteil
- be quiet! Straight Power E11 650W
- Tastatur
- Razer Ornata Chroma
- Maus
- Logitech Lift for Business
- Betriebssystem
- Win 10 Pro 64bit
- Webbrowser
- Firefox
- Verschiedenes
- rockstable & silent
- Schau Dir das System auf sysprofile.de an
@ Lynxeye:
Ich weiß, ich frage aber gezielt nach beidem weil ich bei einer Lösung für Windows-BS gucken kann ob mir die Lösung mit Windows-API besser gefällt als ein Ansatz über Sockets.
Und Sockets auf der anderen Seite würden bei der Portabilität des Codes helfen.
Hab verschiedene Ideen und je nachdem was ich umsetze wäre es gut wenn mein Code ohne große Verrenkungen auch auf Linux-Systemen läuft.
@ QlX39k0tFGSI4d70vdZq:
Danke Dir, werde ich mir mal genauer ansehen. Ist egal ob die Bücher auf Deutsch oder Englisch sind.
Ich weiß, ich frage aber gezielt nach beidem weil ich bei einer Lösung für Windows-BS gucken kann ob mir die Lösung mit Windows-API besser gefällt als ein Ansatz über Sockets.
Und Sockets auf der anderen Seite würden bei der Portabilität des Codes helfen.
Hab verschiedene Ideen und je nachdem was ich umsetze wäre es gut wenn mein Code ohne große Verrenkungen auch auf Linux-Systemen läuft.
@ QlX39k0tFGSI4d70vdZq:
Danke Dir, werde ich mir mal genauer ansehen. Ist egal ob die Bücher auf Deutsch oder Englisch sind.
flybyray
Vice Admiral Special
Also das ACE Framework ist jedenfalls sehr gut portierbar auf ungewöhnlichste Architekturen. Aber schau dir doch auch mal einfach Qt und seine Netzwerk API an.Und Sockets auf der anderen Seite würden bei der Portabilität des Codes helfen.
Welche Ideen hast du denn? Ich denke für die meisten Sachen reichen die einfachen Bibliotheken von Qt vollkommen aus. Außerdem bietet Qt nützliche Beispiele und ist auch leicht portabel. LINK auf Weblinks in WikipediaHab verschiedene Ideen und je nachdem was ich umsetze wäre es gut wenn mein Code ohne große Verrenkungen auch auf Linux-Systemen läuft.
@Nightshift: Hab dich bei POEM überholt! :-D
Zuletzt bearbeitet:
Nachtschicht
Admiral Special
Na, da möchte ich mal gern mal die Windows-Portierung für die UNIX-Signale sehen:Also das ACE Framework ist jedenfalls sehr gut portierbar auf ungewöhnlichste Architekturen.
http://www.cs.wustl.edu/~schmidt/signal-patterns.html
Den Sinn von ACE hatte ich noch nie verstanden, wozu braucht man das, wenn man UNIX-Systemprogrammierung kann?
Ich musste mal vor Jahren beruflich ein kommerzielles Produkt von Orbacus (Corba) auf TAO (aus dem gleichen Haus wie ACE) umstellen. Das wahr sehr schmerzhaft. TAO ist ein typisches Uni-Projekt, da darf jeder Student mal etwas programmieren.
Zum Thema: In der UNIX-Welt sind die Bücher von Stevens "Network Programming" das Standardwerk für IPC, auch mit sehr viel Socket-Kram, aber für UINIX.
http://www.amazon.de/Unix-Network-P...ie=UTF8&s=books-intl-de&qid=1233942517&sr=8-1
Windows macht im Detail einige Sachen anders, aber der anerkannte Stand der Technik ist seit 30 Jahren ganz sicher die UNIX-Welt. Wenn man es richtig wissen will, dann Linux (UNIX), zum Lösen einer Aufgabe reicht das Windows-API.
Natürlich ist pure Socket-Programmierung schon etwas angestaubt, aber gerade im embedded Bereich wird noch viel damit gemacht.
flybyray
Vice Admiral Special
Na, da möchte ich mal gern mal die Windows-Portierung für die UNIX-Signale sehen:
http://www.cs.wustl.edu/~schmidt/signal-patterns.html
Die Portierung kannst du dir gerne im Source ansehen. Leicht verständlich ist es aber nicht. Eine Einstiegshilfe ist die Klasse ACE_Event_Handler.
Die Verwendung ist aber denkbar einfach durch Ableiten von dieser Klasse.
Dazu ein Zitat aus dem Buch The ACE Programmer´s Guide.
As allways, ACE provides us with a nice, clean API portable across dozens of operating systems. Handling signals is as simple as defining a class derived from ACE_Event_Handler with your code in it the new handler class´s handle_signal() method and then registering an instance of your object with one of the two appropriate register_handler() methods.
Na klar es kommt immer darauf an was du machen möchtest! ACE steht für ADAPTIVE Communication Environment. Und dieser Titel/Name ist nicht nur Schall und Rauch sonder sollte auch wirklich so verstanden werden. ACE versteckt die Komplexität von unterschiedlichen/heterogenen Umgebungen und bietet dennoch die best mögliche Flexibilität für die Anwendung und reduziert dabei nicht die Leistung und Skalierbarkeit des Systems. Douglas Schmidt hat mit dem ACE Programmiertoolkit eine ernsthaft durchdachte effiziente Lösung für Netzwerkkommunikation geschaffen.Den Sinn von ACE hatte ich noch nie verstanden, wozu braucht man das, wenn man UNIX-Systemprogrammierung kann?
Letztendlich verwendet die ACE API auch UNIX-Systemprogrammierung, jedoch geht es bei der API mehr um die Muster/Designpatterns die es verwendet um die Komplexität zu beherschen und effiziente Möglichkeiten anzubieten.
Selbstverständlich ist es aufwendig sich in eine API einzuarbeiten, anders ist es auch nicht bei der ACE API.
Für die schnelle zusammen gebaute/gefrickelte Netzwerkkommunikation gibt es einfache Lösungen. ES KOMMT DARAUF AN WAS MAN MACHEN MÖCHTE!!!
Da hast du teilweise Recht! Teilweise? Ja teilweise! Denn der Kern von TAO (CORBA) ist definitiv kein Werk von Studenten und basiert auf der ACE Api! Was Studenten wirklich gemacht haben kann man nicht so pauschal sagen. Wo Studenten bei der Entwicklung mitgewirkt haben sind einige der vielen CORBA-Services. Wobei die Zeitkritischen und CORBA-essentiellen Services auch durch fachkundige Menschen entwickelt worden sind.Ich musste mal vor Jahren beruflich ein kommerzielles Produkt von Orbacus (Corba) auf TAO (aus dem gleichen Haus wie ACE) umstellen. Das wahr sehr schmerzhaft. TAO ist ein typisches Uni-Projekt, da darf jeder Student mal etwas programmieren.
Das TAO und ACE nicht nur "blödsinn" sind belegt bestimmt auch die Liste der Benutzer von TAO und ACE.
ACE und ich denke auch TAO hat seine Daseinsberechtigung schon lange bewiesen. Ob es für die eigene Anwendung sinnvoll ist sich in diese API einzuarbeiten ist eine andere Sache. Jedenfalls würde ich behaupten, dass es das Wert ist wenn man sich die Konzepte von ACE einmal ansieht. Und bestimmt gibt es andere "Werke" die auch gut sind (für ihren Anwendungsbereich).
Zuletzt bearbeitet:
Nachtschicht
Admiral Special
War ein bißchen flapsig formuliert: Seriös klingt es so: Die Qualität des freien ACE-basierten TAO war deutlich geringer als die des kommerziellen (open source) Orbacus.Da hast du teilweise Recht! Teilweise? Ja teilweise! Denn der Kern von TAO (CORBA) ist definitiv kein Werk von Studenten und basiert auf der ACE Api! Was Studenten wirklich gemacht haben kann man nicht so pauschal sagen. Wo Studenten bei der Entwicklung mitgewirkt haben sind einige der vielen CORBA-Services. Wobei die Zeitkritischen und CORBA-essentiellen Services auch durch fachkundige Menschen entwickelt worden sind.
Für mich stellt sich immer noch die Frage, ob ACE mehr ist als eine überflüssige Hülle. Erstens ist ACE wohl auf *x-Systeme eingegrenzt, von Portierbarkeit wie bei qt, xerces, ... keine Spur. Provokativ: ACE ist das persönliche Hobby eines einzelnen Professors.
An welcher Stelle geht denn nun z.B. die Interprozesskommunikation bei ACE über den den sowieso verfügbaren Sun-RPC hinaus? Oder bauen die noch 3 Hüllen ums select() mit consumer und producer?
flybyray
Vice Admiral Special
An welcher Stelle geht denn nun z.B. die Interprozesskommunikation bei ACE über den den sowieso verfügbaren Sun-RPC hinaus? Oder bauen die noch 3 Hüllen ums select() mit consumer und producer?
Vielleicht sollten wir den weiteren "Sinn und Zweck von ACE" unter einem neuen Thema diskutieren (soll mal wer anders sagen!).
ACE macht die IPC-Mechanismen von UNIX/SUN/WINDOWS nicht besser! Soll es auch nicht!
ACE hilft hier Programmierschnittstellen zu vereinheitlichen. Klar kannst du da behaupten, dass es ja nur eine Hülle ist. Aber du solltest dich mal im Leben umschauen wie oft es Hüllen gibt die man nicht braucht! Da kommt aber noch der Begriff Delegation ins Spiel. Delegation ist ein trickreiches und nicht zu unterschätzendes Instrument (manche Manager/Politiker wissen auch wie man damit umgeht)!
Bei ACE dreht sich viel um Konzepte! Das habe ich schon früher betont. Unter der vereinheitlichten "Hülle" können (mittels der Delegation) ACE IPC Klassen (es gibt sinnvolle IPC Trennungskonzepte und selbst SUN hat einige entwickelt) ausgetauscht werden und somit einer veränderten Anforderung oder Leistung genügen.
PS: Bitte fange wirklich einen neues Thema an wenn du "Sinn und Zweck von ACE" weiter in Frage stellen möchtest. Ich habe niemanden gezwungen ACE zu verwenden. Es ist definitiv kein muss! Ich befinde es nur von seinen Konzepten her für lohnenswert sich das anzusehen.
ERGÄNZUNG: CPSM (Cross-Platform Support Middleware) (hier wird die "Hülle" sogar noch modelliert!
Zuletzt bearbeitet:
Ähnliche Themen
- Antworten
- 3
- Aufrufe
- 2K
- Antworten
- 0
- Aufrufe
- 1K
- Antworten
- 0
- Aufrufe
- 2K
- Antworten
- 3
- Aufrufe
- 5K