Solved

Book: C++ for win32 on TCP/UDP/ICMP and stuff

Posted on 2004-04-29
9
625 Views
Last Modified: 2012-06-21
Hi,

  I would like to know what is the best or at least a good book for programming TCP/UDP/ICMP and stuff
in C++ on win32 platform??

  Thank you
0
Comment
Question by:Dogofwars
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 4

Assisted Solution

by:PerryDK
PerryDK earned 150 total points
ID: 10955572
The ACE Programmer's Guide
http://www.amazon.com/exec/obidos/tg/detail/-/0201699710/qid=1066085869/sr=1-1/ref=sr_1_1/103-7003298-2269432?v=glance&s=books

C++ Network Programming: Systematic Reuse with ACE & Frameworks
http://www.amazon.com/exec/obidos/ASIN/0201795256/qid%3D1024877783/sr%3D2-3/ref%3Dsr%5F2%5F3/103-7003298-2269432
 
C++ Network Programming: Mastering Complexity with ACE & Patterns
http://www.amazon.com/exec/obidos/ASIN/0201604647/qid%3D1005928963/sr%3D2-1/ref%3Dsr%5F2%5F11%5F1/103-7003298-2269432

I found all three of those books very useful.  The ACE library provides things such as TCP/UDP/ICMP sockets as well as threads and such all in 100% ANSI compiliant standards so it will work with any compilier.  ACE is free library by the way.

If you don't want to use ace than you should tell us what particular compiler you are using.  Unless you plan on using strictly the windows api function calls to do all of your socket programing...which is very tedious.

I currently use C++ Builder as my compiler and they have many nice components such as TServeSocket, TClientSocket for TCP sockets...with C++ Builder you can also get the INDY library which has a ton of socket componetnts.  I've just recently but geering myself away from my things and moving towards the ACE library.

As I said ACE is 100% ANSI C++ compliant which means you can write a server and run it on windows...later if your web hosting company says you have to have it a linux machine all you have to do is recompile it for linux.  

Well at any rate there's my 2 cents worth.

0
 

Author Comment

by:Dogofwars
ID: 10955675
Well actually I'm using Dev-Cpp which use GCC (the free popular CPP compiler) and I would like to use standard
windows socket and not through a library. It's not a homework it's simply that I am building a simple yet usefull set of
socket wrapper though I don't have enough info to complet it the way I want.

0
 
LVL 4

Expert Comment

by:PerryDK
ID: 10955715
Now matter what you do your going to end up using some type of library.  At a bare minimum you will have to be using the winsock.dll library.  That ships with the windows's os's.

By the way there is not C++ standard for sockets.  Thats while you'll have to use someone else's library...either the winsock.dll or another library that wraps the functionality of  the winsock.dll.

In fact if you look into ACE a little further that's actually what they do.  They provide common socket classes that just wrap low level operating specific calls.

You may find this link usefull http://www.snible.org/winsock/ if you want to deal strictly with the winsock.dll library.
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 4

Expert Comment

by:PerryDK
ID: 10955729
Again if you interested in something that will compile on virtually any ANSI C++ compliant compiler I'd look into the ace library...have a look at http://www.cs.wustl.edu/~schmidt/ACE-overview.html for further details.
0
 

Author Comment

by:Dogofwars
ID: 10955942
Well if you prefer yes a library but the winsock one. I want my app to be used without the need to install them like those little app as pop reader and so on. Like you put all the file you need in a folder and there you go. I'm looking around
and there is not much book that actually fit what I want :(

0
 
LVL 4

Expert Comment

by:PerryDK
ID: 10955997
"Well if you prefer yes a library but the winsock one."
Not exactly sure what you mean...i'm not following what your saying.

If you use the winsock.dll you would not need to use an installation program as windows ships with the winsock.dll.
If you insist on using only this library I can't suggest a book as I have not read any of them.

Concerning the installation of your app...many libraries including ACE can be statically linked into your exe.  Meaning you need no installation file only the .exe that your compiler produced.

Do a search for windows socket programming.  Or windows network programming on amazon if you want to use strictly the winsock.dll.  I highly suggest however using the ACE library as it is portable to many different platforms and works on a lot of different compilers.

0
 
LVL 3

Expert Comment

by:akalmani
ID: 10957883
If you are specifically looking at windows sockets programming then this is also a good start check this out
http://www.sockets.com/
0
 

Author Comment

by:Dogofwars
ID: 10959122
I'm looking for a book, no link
0
 
LVL 6

Accepted Solution

by:
Mafalda earned 350 total points
ID: 10959603
Maybe you will find this useful

Practical TCP/IP: Designing, Using and Troubleshooting TCP/IP Networks on Linux and Windows
Niall Mansfield / Addison-Wesley / 2003 / 0201750783 / 0.01786

link at the bookpool:

http://www.bookpool.com/.x/qcam2aqgy1/sm/0201750783

There is a full list of the book contents
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question