Solved

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

Posted on 2004-04-29
9
617 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
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
 
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
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 

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

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

This article shows you how to optimize memory allocations in C++ using placement new. Applicable especially to usecases dealing with creation of large number of objects. A brief on problem: Lets take example problem for simplicity: - I have a G…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

757 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now