Wie schreibt socket-Kommunikation Programm mit win32
Neuen Kerl kennen lernen wollen socket-Programmierung in win32. Ich weiß, bisschen MFC, aber das ist nicht ein guter Punkt um zu starten, wie es nur versteckt die internen details form-Programmierer.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwendung von winsock-Funktionen (Winsock2.h).
http://beej.us/guide/bgnet/
Beej ' s guide ist ein ziemlich gemeinsamen Ausgangspunkt. Es ist schon ein paar Jahre her, seit ich begann, mit diesem Zeug, aber wenn ich mich Recht erinnere, wird das Handbuch verwendet die Berkeley-sockets und weist Sie auf die Unterschiede mit winsock wo es angebracht ist.
Haben Sie Recht, MFC verdeckt einige details, ich habe keine Ahnung, warum Sie beschlossen, wickeln Sie es.
Gibt es eine Reihe von guten Büchern und tutorials, die auf WinSock-Programmierung. Hier ist einer;
http://www.codeproject.com/KB/IP/winsockintro01.aspx
Antwort-ist die Verwendung der win32 socket API.
Gibt es Informationen über diese API im MSDN.
Es (das so genannte 'Winsock' API) ist ähnlich wie (basierend auf dem Unix/Posix-API, so wie auch die MSDN eine Menge Literatur (Bücher) über die Verwendung von sockets unter Unix sind relevant auch.
Googeln finden Sie code-Beispiele, vermutlich.
Möchten Sie wissen, ein wenig über Netzwerke: was eine "IP-Adresse" und "port" sind, zum Beispiel.
Wählen Sie ein Protokoll (UDP oder TCP).
Eines der Dinge, die anders über Win32 ist, dass Sie verwenden können, ReadFile und WriteFile wenn Sie über eine Buchse angeschlossen, was bedeutet, können Sie die Optionen verwenden, die für die overlapped I/O, die im Zusammenhang mit ReadFile und WriteFile.
Ich von ganzem Herzen Zustimmen ChrisW und comend Sie für die Weitergabe an MFC.
Sehen die MSDN, Winsock Referenz für viele tolle WinSock-Informationen.
Auch, während es möglicherweise zu groß, um zu erfahren, aus der, ich habe, was ich als eine sehr schöne Socket Server Klasse - lassen Sie mich wissen, wenn Sie finden es nützlich.
Einen kleinen Hinweis wäre (vorausgesetzt, Sie sind mit Visual Studio und dem Winsocket librabry), die Sie benötigen zu verknüpfen WS2_32.Lib manuell. Ich finde, dass dieser kleine Schritt ist etwas viel-starter verpassen, und bekommen einige seltsame Fehler (komisch, im Auge des Betrachters), weil es.
http://social.microsoft.com/Forums/en-US/vcgeneral/thread/cfefa4a5-1f1a-4987-8bc7-f3197cb5826c
Auch; imho sollten Sie nicht verwenden MFC. Es gibt viele gute guides für winsocket-Programmierung auf der google-net 🙂
Viel Glück
Schlage ich vor Blick auf
Erste Schritte mit Winsock (Windows)
und auch
Entwirren Sie die Geheimnisse des Schreibens ein Winsock 2-Layered Service Provider
Zwei Optionen:
Die erste option bedeutet Schreibens "boiler plate" - code, so dass Sie wäre besser dran mit einem 3rd-party-Bibliothek für das.
Den häufigsten 'Start Schwierigkeiten' mit der seriellen Schnittstelle-Programmierung ist das herstellen einer Kommunikationsverbindung mit dem Gerät. Sie MÜSSEN die richtigen Einstellungen für die port-name, Baudrate, Parität usw. (in der Regel von den Hersteller des Geräts).
Dann wird es auch eine "command set" für das Gerät. Zum Beispiel, wenn Sie senden Sie"?", um das Gerät, wird es wieder mit den Geräte-Informationen wie Hersteller-Namen, etc (das '? ' - Befehl ist ein Beispiel, es ist nicht ein standard - Befehlssatz variiert von Gerät zu Gerät).
Alle seriellen arbeiten wie diese:
- schreiben Sie einen Befehl an der seriellen Schnittstelle
- Umfrage der Lesepuffer für Antwort vom Gerät
Meines Wissens gibt es keine built-in Serial port Kommunikation Klassen in C++ und MFC, aber es gibt eine Menge von 3rd-party-libs für diese.