Winsock oder die MFC-Socket Klassen?



  • Hallo!
    Ich will für ein Kartenspiel im Mehrspielermodus kleinere Datenmengen übers Internet verschicken können.

    Da ich früher viel in VB programmiert habe kenne ich das Winsock Control, welches ja bestimmt auch in VC++ einsetzbar ist.
    Im Buch "Visual C++ 6.0" von "Hans-Jürgen Scheibl" sind dagegen die MFC-Socket Klassen vorgestellt. Ich kam bisher leider noch nicht dazu das Kapitel durchzulesen, aber bei dem was ich bisher gesehen habe müsste es damit ja auch gehen.

    Welche von beiden Möglichkeiten würdet ihr mir für das beschriebene Problem empfehlen und welche ist generell die bessere?

    Vielen Dank im **Voraus,

    Flux**



  • Der Aufwand für die Programmierung eines ActiveX- bzw. COM-Controls in C++ ist sehr viel höher als das Einbinden in VB. Hier ist es einfacher, MFC zu verwenden. Allerdings setzt M$ voll auf COM/Active-X, und wenn Du Dich damit auseinandersetzen willst, solltest Du das Control nehmen 😉



  • danke für die schnelle Antwort!

    Ok, dann werd ich wohl die MFC benutzen, vor allem hab ich da ja auch eine detaillierte Anleitung.

    Aber was würde es mir denn für Vorteile bringen das Control zu nehmen? Nur das MS auf ActiveX/COM setzt? Was bringt mir das? Wird die MFC nicht weiterentwickelt oder warum?

    Grüße,
    Flux



  • Die MFC Kapselt die WINAPI in einfache Klassen.

    In der WINAPI müss man alles selbst schreiben.
    In MFC leitet man z.B. eine Klasse von CAsyncSocket ab und es funktioniert.

    Die MFC gibt es in VC Net auch noch. Wie lange weiß nur MS.
    Wenn die sagen: "Wir machen ab jetzt alles mit JAVA" 😃

    Dann wird bei MS c++/MFC beendet.

    Aber mach dir vorerst keine Sorgen. In einigen Jahren können wir weiter darum reden. Bis dahin programmiere mit MFC.



  • Wirklich Vorteile bringt Dir das Control nur, wenn Du verteilte Anwendungen entwickelst. MIt diesem Control ist z.B. folgendes möglich:

    - Hole Interface des WinSock-Controls von PC2
    - Arbeite mit Interface (Daten schicken)
    - Interface releasen

    Was hier nämlich ganz easy ist, ist, dass Du Deine Daten von PC1 über die IP von PC2 verschicken kannst.


Anmelden zum Antworten