Networking Books
I'm looking for a selection of books on C++ Network Programming - not necessarily just for games, but in general. I'm not looking for beginners guides, I want something more advanced. I'd like it to cover concepts such as IOCP in detail (although I do have some experience with this already), topics discussing TCP/UDP protocol details, implementing ordering/reliability protocols on top of UDP. Network application architecture/design discussion (yes that's pretty general) would also be a bonus, as would a section on security (but that would be bordering on cryptography). Really I would just like to learn about things I don't already know. Hopefully books like this exist outside of my imagination, though I would prefer them to be recently published given the speed in which our technology progresses these days - I fear anything more than a few years old would be outdated, but I could be wrong.
Can anyone suggest any books that fit my description? ISBNs would help too if possible.
Edit: Platform should focus on Windows, but I'm not fussed if the book if mostly theory and applicable to many platforms.
I'm surprised no one actually responded to you on this one.
The first book I would recommend for socket & protocol details/theory would be:
Unix Network Programming, Vol 1 (3rd Edition)
ISBN 0131411551
I realize that you're looking for more of a Windows focus. When it comes down to it, the base socket functions are primarily the same on all platforms. The Winsock specific things you'll most likely deal with initially are simply startup and cleanup functions. As a base, I would recommend that every network programmer have a copy of this book.
I've also got a list of urls on my site which will point you to a bunch of other sites with actual useful info on them.
http://www.gamenetworkprogramming.com/articles.html
[Edited by - davidlkoenig on July 19, 2009 3:59:04 PM]
The first book I would recommend for socket & protocol details/theory would be:
Unix Network Programming, Vol 1 (3rd Edition)
ISBN 0131411551
I realize that you're looking for more of a Windows focus. When it comes down to it, the base socket functions are primarily the same on all platforms. The Winsock specific things you'll most likely deal with initially are simply startup and cleanup functions. As a base, I would recommend that every network programmer have a copy of this book.
I've also got a list of urls on my site which will point you to a bunch of other sites with actual useful info on them.
http://www.gamenetworkprogramming.com/articles.html
[Edited by - davidlkoenig on July 19, 2009 3:59:04 PM]
Doesn't the Forum FAQ already list a bunch of resources?
I'm pretty sure it mentions classics like Stevens' books.
I'm pretty sure it mentions classics like Stevens' books.
No one had answered the original question, even to suggest reading through the FAQ, so I thought I'd try to help. I made the assumption that the author of the original post read through the FAQ given that it's a sticky thread on the forums. I only mentioned the prior link as possibly useful, and you can never have enough information.
Also, I don't see any listing for the book "Unix Network Programming" from searching the FAQ, so you might want to update it.
[Edited by - davidlkoenig on July 20, 2009 7:59:56 AM]
Also, I don't see any listing for the book "Unix Network Programming" from searching the FAQ, so you might want to update it.
[Edited by - davidlkoenig on July 20, 2009 7:59:56 AM]
I did read the forum FAQ and didn't see any section on books - maybe there is room to add a short list of recommended reading for both the beginner and more advanced user. I am still looking for copies of the Stevens' books locally, but if I can't find any I'll have to bite the bullet and order them from amazon - I think it's just the first 2 volumes that I need, someone told me the 3rd isn't worth bothering with.
Thanks for responding anyway I'll be sure to take a look through your site when I get some time. I picked up a book on TCP/IP cheap from a local computer market but I don't think it covers everything I need, it seems more geared towards the beginner - that said I have learnt a few things from it that I didn't already know.
Thanks for responding anyway I'll be sure to take a look through your site when I get some time. I picked up a book on TCP/IP cheap from a local computer market but I don't think it covers everything I need, it seems more geared towards the beginner - that said I have learnt a few things from it that I didn't already know.
Quote:I thought I'd try to help.
Your help is appreciated. My short note was also intended as help.
I turns out the FAQ actually does need a better section on books (as opposed to tutorials), so I'll have to go over that.
Any other recommendations you think should be in that list?
(The classic Stevens book is "TCP/IP Illustrated").
Yeah the "TCP/IP Illustrated" volumes are also very good. Anything by Stevens is pretty much a classic text. (at least the first two volumes of any of his series) The Game Programming Gems series starting with book 3 has interesting information for sure. Game Coding Complete has a networking section. I believe that is in its 3rd edition at this point. Obviously that is going to be more game oriented than general.
From my experience, there aren't a large number of really great books on network programming. The Stevens books along with online sources such as Beej's and MSDN seem to be about the best that really exists. (augmented by the forums here)
One of the topics that Badgerr mentioned was IOCP, is which case Google can probably find as much info as is available, whether that be references to Boost::ASIO, or the native Win32 IOCP docs. "Google is your friend" etc...
I've got quite a bit of things in storage right now, so I'll have to go through those when I get a chance. If I come across anything interesting, I'll forward it your way.
From my experience, there aren't a large number of really great books on network programming. The Stevens books along with online sources such as Beej's and MSDN seem to be about the best that really exists. (augmented by the forums here)
One of the topics that Badgerr mentioned was IOCP, is which case Google can probably find as much info as is available, whether that be references to Boost::ASIO, or the native Win32 IOCP docs. "Google is your friend" etc...
I've got quite a bit of things in storage right now, so I'll have to go through those when I get a chance. If I come across anything interesting, I'll forward it your way.
I agree most information on IOCP can be found on the web - I learnt a lot about it from that article posted here demonstrating a UDP server using IOCP, as well as examples I found through google. I was really hoping for some sort of definitive standard of its use or something sounding equally as vague, but it's not imporant so much now as I already know how it works.
I did use boost::asio for a short time, but I found the whole template metaprogramming style of boost in general to be tiresome and messy to say the least.
I did use boost::asio for a short time, but I found the whole template metaprogramming style of boost in general to be tiresome and messy to say the least.
Actually, now that I think of it, there was one book that might be of interest to you. Though, I believe it's out of print now. (naturally)
"Network Programming for Microsoft Windows"
ISBN: 0735615799
You might Google for that... There's some decent info on it floating around out there.
"Network Programming for Microsoft Windows"
ISBN: 0735615799
You might Google for that... There's some decent info on it floating around out there.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement