Beyond MFC : COM || Networking

kuphryn

Senior member
Jan 7, 2001
400
0
0
Hi.

I began learning and practice MFC three months ago. The first month was the toughest because I was down right lost after reading the first nine chapters from Prosise's book. However, everything changed after I first studied from Richand Jones' introduction to MFC. Everything Prosise discusses became clear and only now do I begin to appreciate the information Prosise offers in his book.

Next, I would like to move on to more specific tools i.e. networking or COM. I have no experience with COM and networking programming using C++. My ultimately goal, however, is to design and implement network programs such as an ftp server (my dream).

What is there after MFC? I am an MFC beginner, but I have confident I can work with the tools MFC offers relatively well.

I am very interested in networking programming, but COM is something that is quite popular. I saw good review on C++ Networking Programming Volumn 1 by Douglas C. Schmidt, Stephen D. Huston. What do you recommend? As for COM, I am not sure where to start. Nonetheless, COM is something I want to consider, if not now, then after networking.

Thanks,
Kuphryn
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
For internet programming like FTP, e-mail (SMTP & POP3), and HTTP using TCP/IP, you have 2 choices on Windows PCs: winsock and MS' wininet layer on top of it. (choice #3 is a library from Dart, IP*Works, etc. starting at around $200)

Winsock is good (and fun) because it's just for making connections and transferring data, and you learn / write the different protocols yourself by reading books, articles, and the W3C "RFC" documents. Go to amazon and search "winsock" for books. Basic HTTP is dead simple to write and there have been articles in MSDN and (I think) WDJ showing how to make a limited web server in just a few pages of code.

Wininet is an MS layer that handles some of the details for you, but also hides things and doesn't let you see the raw data transfers. It lets you read from an existing FTP server in a few lines of code but I don't think you'd be able to write your own server with it. It can also be very useful in dealing with existing HTTPS secure servers because it uses the Internet Explorer libraries for encryption.

COM / DCOM is mainly for single-machine inter-process and LAN communication, for internet apps the world seems to be heading to SOAP.
 

kuphryn

Senior member
Jan 7, 2001
400
0
0
Thanks. I am more interested in networking programming (C++ programming).

Kuphryn
 

Argo

Lifer
Apr 8, 2000
10,045
0
0
The first thing I learned after MFC was Winsock programming, including MFC's CSocket wrapper. After that, I read a book titled "Advanced Windows Programming", which goes over advanced stuff like multithreading, thread syncronization and a lot of other useful stuff. Then I learned everything there was about writing OCX controls (no book, just practice). After that I learned COM, and while I can't call myself a COM guru (very few people can) i know enough about it to understand how it works.
 

kuphryn

Senior member
Jan 7, 2001
400
0
0
Okay.

I am considering C++ Networking Programming Volumn 1 by Douglas C. Schmidt, Stephen D. Huston, which goes over networking programming using ACE library. I am not familiar of ACE library and how it relates to MFC.

Kuphryn
 

kuphryn

Senior member
Jan 7, 2001
400
0
0
Okay.

I decided on a network programming book.

I placed on order for this:

Network Programming for Microsoft Windows, Second Edition
by Anthony Jones.

I have considered C++ Network Programming Volume 1 by Douglas C. Schmidt and Stephen D. Huston. However, in the end I decided to go with Networking Programming for Microsoft Windows, Second Edition because my primary objective is to design and implement Windows programming using C++. I believe Jones' book will become invaluable for Windows applications.

Kuphryn
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
If you end up needing a winsock-specific book one good one is Dogulas E. Comer & David L. Stevens "TCP/IP volume III - windows sockets version." It was helpful when I was writing some net code for SMTP outgoing mail and HTTP post/get. It includes UDP too if you ever want to do something like streaming audio/video or a multiplayer game.