473,387 Members | 1,585 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

C++ and networking

Hi,

I am looking for good book about network programming in C++. Probably it
will difficult to find out book which explain such complicated subject
for MS Windows & Linux but ... Could some one tell me few good books on
this field ?

Does anyone have experience witch ACE library ? Is it only high level of
network programming, is it possible to write i.e. TFTP/FTP server with
this library ?
Regards,
Fibre Optic
Jul 23 '05 #1
4 2392
Fibre Optic wrote:
I am looking for good book about network programming in C++. Probably
it will difficult to find out book which explain such complicated
subject for MS Windows & Linux but ... Could some one tell me few
good books on this field ?
Since network programming is platform-specific, you'll get much better
help in a newsgroup dedicated to your platform.
[..]


V
Jul 23 '05 #2
Fibre Optic wrote:
Hi,

I am looking for good book about network programming in C++. Probably it
will difficult to find out book which explain such complicated subject
for MS Windows & Linux but ... Could some one tell me few good books on
this field ?
The C++ language doesn't, to the best of my knowledge, include any
intrinsic support for networking. This means you'll either have to use
a 3rd party library (such as the ACE stuff) that encapsulates
the underlying socket stuff, or you'll be dealing with "C style" APIs
for raw socket access.

Also, network programming is similar but different between Windows and
Linux. You'll almost certainly need (at least) two books, one that
explains the details for each platform. Assuming you'll be using IP,
the basic concepts of using sockets isn't so different, but there are
definitely platform specific details to worry about.

Additionally, network programming tends to involve the need for
concurrency, which generally means threading... and the details
of threading are substantially different between Win and Linux.
You'll probably want some reference material on that subject
for both platforms as well, if you're not already versed in that.

That said, you might want to check out:
WINDOWS:

Win32 Network Programming
Ralph Davis
ISBN 0-201-48930-9

Windows Sockets Network Programming
Bob Quinn & Dave Shute
ISBN 0-201-63372-8

Network Programming with Windows Sockets
Pat Bonner
ISBN 0-13-230152-0

Win32 System Programming (2nd Ed)
Johnson M. Hart
ISBN 0-201-70310-6

Win32 Multithreaded Programming
Aaron Cohen & Mike Woodring
ISBN 1-56592-296-4

Multithreading Applications in Win32
Jim Beveridge & Robert Wiener
ISBN 0-201-44234-5

Multithreaded Programming with Win32
Thuan Q. Pham & Pankaj K. Garg
ISBN 0-13-010912-6

LINUX / UNIX

Linux Socket Programming By Example
Warren W. Gay
ISBN 0-7897-2241-0

UNIX Network Programming Volume 1 (3rd Ed.)
W. Richard Stevens, Bill Fenner & Andrew M. Rudoff
ISBN 0-13-141155-1
(see also volume 2)

Internetworking with TCP/IP
Douglas E. Comer
(see entire series)

TCP/IP Illustrated
W. Richard Stevens
(see entire series)
Does anyone have experience witch ACE library ?
Somebody does, but unfortunately not I.
Is it only high level of
network programming, is it possible to write i.e. TFTP/FTP server with
this library ?


I'm not sure, but there are two books out on ACE and C++ Network
Programming: C++ Network Programming, Vol. 1 and C++ Network
Programming, Vol. 2, both by Douglas C. Schmidt. You might want
to give those a look. I haven't read either, so I can't really
comment on them.
HTH, IANAL, YMMV, etc. blah,
Phil
--
North Carolina - First In Freedom

Free America - Vote Libertarian
www.lp.org
Jul 23 '05 #3
Fibre Optic wrote:
I am looking for good book about network programming in C++. Probably it
will difficult to find out book which explain such complicated subject
for MS Windows & Linux but ... Could some one tell me few good books on
this field ?

Does anyone have experience witch ACE library ? Is it only high level of
network programming, is it possible to write i.e. TFTP/FTP server with
this library ?


In C++ being really multiplatform, use Qt library. I know they have
books probably even on amazon. Qt is GPL now.
Jul 23 '05 #4
Fibre Optic wrote:
Hi,

I am looking for good book about network programming in C++. Probably it
will difficult to find out book which explain such complicated subject
for MS Windows & Linux but ... Could some one tell me few good books on
this field ?
Interestingly, I was asking about the same question on the ACE newsgroup
today. I just hit this on a google: http://www.alhem.net/Sockets/index.html
It looks a lot leaner than ACE. I've been trying to get all of ACE and TAO
to build for the better part of the day. It takes literally hours to
build, and TAO failed. I tried to recover the build, but couldn't
determine exactly what went wrong. For some reason some of the libraries
were symlinked to nothing. After I ran the original build (which took well
over an hour), I didn't realize it was wanting me to also do a `make
install' even though I was building in place. I ran that, and it decided
to build a whole bunch of stuff it couldn't build without the libraries in
place. That was a couple more hours....
Does anyone have experience witch ACE library ? Is it only high level of
network programming, is it possible to write i.e. TFTP/FTP server with
this library ?


I believe you _could_ do your own lowlevel programming with ACE. It has
multiple abstraction layers. One of which is pretty close to the OS. I
just bought _The Ace Programmer's Guide_. It seems like a decent book. As
for ACE, it's real C++ code that shows its age. Lots of #MACROs, and
plenty of workarounds for older compilers. It's not my idea of pretty, but
it apparently has a very solid reputation, and a lot of capabilities. They
claim it was necessary to replace the function main() as the entry point,
but I wonder if that's really so.
--
BB
Jul 23 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: hyperbob | last post by:
Hello, I'm in the design stage of an application that will consist of two or more processes that will be either on different computers in a network or on the same computer and will have to...
6
by: James Egan | last post by:
I've seen some networking toolkits for C++, but was wondering if there were (or plans for) a standard set of networking classes for C++? Also, can someone tell me where I can find a...
7
by: Brian Keogh | last post by:
Hi, I'm a student learning TCP/IP networking at University. Although I understand all about TCP/IP Networking in Java I am expected to understand the basics of C with regard to these programs as...
46
by: H.A. Sujith | last post by:
Why doesn't the standard library provide (at least basic) networking facilities using TCP/IP ?
4
by: Raj | last post by:
I want to program C with networking. Can anyone tell me the How to start with a small simple program can it possible in turbo/borland c 3+. or i should go for another verson. i am using windows...
0
by: petro | last post by:
I am trying to deploy an asp.net application to my web server. My application uses system.data.oledb to connect to an oracle database. On my development machine I have the oracle client 10g...
2
by: JCB19 | last post by:
I need help networking my HP DV4000 laptop to my home network. I have wireless home network with 3 computers using Linksys Wireless G The laptop has built in wireless capability. I want to...
1
by: ebrimagillen | last post by:
Want to know the difference between URL networking and Socket networking. Also and example from each and the networking technique is most appropriate for the example.
1
by: chinaemerem ibeawuchi | last post by:
What is the difference between URL networking and Socket networking? with an example of each type and state why the choosen networking technique is most appropriate for the example.
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.