Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 641
  • Last Modified:

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

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
Dogofwars
Asked:
Dogofwars
2 Solutions
 
PerryDKCommented:
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
 
DogofwarsAuthor Commented:
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
 
PerryDKCommented:
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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
PerryDKCommented:
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
 
DogofwarsAuthor Commented:
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
 
PerryDKCommented:
"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
 
akalmaniCommented:
If you are specifically looking at windows sockets programming then this is also a good start check this out
http://www.sockets.com/
0
 
DogofwarsAuthor Commented:
I'm looking for a book, no link
0
 
MafaldaCommented:
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

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now