Product Details
TCP/IP Sockets in C#: Practical Guide for Programmers (The Practical Guides)

TCP/IP Sockets in C#: Practical Guide for Programmers (The Practical Guides)
By David Makofske, Michael J. Donahoo, Kenneth L. Calvert

List Price: £18.00
Price: £12.79 & eligible for FREE Super Saver Delivery. Details

Availability: Usually dispatched within 24 hours
Dispatched from and sold by Amazon.co.uk

33 new or used available from £8.25

Average customer review:

Product Description

"TCP/IP sockets in C# is an excellent book for anyone interested in writing network applications using Microsoft .Net frameworks. It is a unique combination of well written concise text and rich carefully selected set of working examples. For the beginner of network programming, it's a good starting book; on the other hand professionals could also take advantage of excellent handy sample code snippets and material on topics like message parsing and asynchronous programming."
Adarsh Khare, SDT, .Net Frameworks Team, Microsoft Corporation


The popularity of the C# language and the .NET framework is ever rising due to its ease of use, the extensive class libraries available in the .NET Framework, and the ubiquity of the Microsoft Windows operating system, to name a few advantages. TCP/IP Sockets in C# focuses on the Sockets API, the de facto standard for writing network applications in any programming language. Starting with simple client and server programs that use TCP/IP (the Internet protocol suite), students and practitioners quickly learn the basics and move on to firsthand experience with advanced topics including non-blocking sockets, multiplexing, threads, asynchronous programming, and multicasting. Key network programming concepts such as framing, performance and deadlocks are illustrated through hands-on examples. Using a detailed yet clear, concise approach, this book includes numerous code examples and focused discussions to provide a solid understanding of programming TCP/IP sockets in C#.

Features
*Tutorial-based instruction in key sockets programming techniques complemented by numerous code examples throughout
*Discussion moves quickly into the C# Sockets API definition and code examples, desirable for those who want to get up-to-speed quickly
*Important coverage of "under the hood" details that developers will find useful when creating and using a socket or a higher level TCP class that utilizes sockets
*Includes end-of-chapter exercises to facilitate learning, as well as sample code available for download at the book's companion web site

*Tutorial-based instruction in key sockets programming techniques complemented by numerous code examples throughout

*Discussion moves quickly into the C# Sockets API definition and code examples, desirable for those who want to get up-to-speed quickly

*Important coverage of "under the hood" details that developers will find useful when creating and using a socket or a higher level TCP class that utilizes sockets

*Includes end-of-chapter exercises to facilitate learning, as well as sample code available for download at the book's companion web site


Product Details

  • Amazon Sales Rank: #178832 in Books
  • Published on: 2004-05-25
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 175 pages

Editorial Reviews

Review
"TCP/IP sockets in C# is an excellent book for anyone interested in writing network applications using Microsoft .Net frameworks." -Adarsh Khare, SDT, .Net Frameworks Team, Microsoft Corporation

About the Author
David Makofske has over ten years experience as a software engineer and consultant, with an emphasis on IP network and web development. He received his Masters degree in computer science from the University of California at Santa Barbara, and is currently a senior solutions architect at Akamai Technologies.

Michael J. Donahoo teaches networking to undergraduate and graduate students at Baylor University, where he is an assistant professor. He received his Ph.D. in computer science from the Georgia Institute of Technology. His research interests are in large-scale information dissemination and management.

Kenneth L. Calvert is an associate professor at University of Kentucky, where he teaches and does research on the design and implementation of computer network protocols. He has been doing networking research since 1987, and teaching since 1991. He holds degrees from MIT, Stanford, and the University of Texas at Austin.


Customer Reviews

Good :)5
I was looking for a book to take me into the whole concept of tcp/ip sockets within .net and I found this to be a gentle enjoyable introduction into the subject, if you have no formal knowledge of sockets, this is a good starting point to get you on your way.

Very good for its intended audience4
This book gets very high ratings on both amazon.co.uk and amazon.com. I have given it a slightly lower rating (although still 4 stars) than most and will explain why below.

The subtitle on the cover of the book is "Practical Guide for Programmers" which suggests it is going to be good even for experienced developers. It is only when you read the preface (page X) that you find that the book is aimed "primarily at students", and even then is "intended as a supplement, to be used with a traditional textbook", which seems a bit of a contradiction when it then says that "we have tried to make the book reasonably self-contained".

Anyway, what are the good points of this book? Well, it does mention most of the bits that a developer using sockets will want to consider. It has everything from blocking sockets, through non-blocking sockets and the select model, through to overlapped I/O. It also mentions threading, the use of thread pools, broadcast and multicast. All good stuff. Even includes example code for each.

Where the book falls down is that having skimmed over all of those topics it (a) doesn't provide adequate information about how to choose the model (synch vs. asynch, blocking vs. non-blocking, 1 thread vs. fixed number (> 1) of threads vs. thread pool, etc) to use for a particular project, and (b) falls short of being self-contained, doing the blah-blah is beyond the scope of this book thing.

I have seen many projects developed using the wrong model, resulting in poor performance, lack of responsiveness, inability to shutdown cleanly etc. I'm pretty sure that the authors of the book will have seen projects like that too. Books about using sockets really need to advise on this area.

It is understandable that a book of this size and price will say that some things are outside the scope of the book, but not something as basic as socket options (p52 refers the reader to the MSDN). Again, socket options are an area where well-meaning developers or support staff set values that are little better than guesses, and which sometimes cause adverse effects. If there's going to be a second edition of this book, please include advice on such matters.

So, all in all, good for students or people new to sockets, but not quite great. It tells you the basic techniques, but not how to use them to best advantage. Having said that, I prefer this book to C# Network Programming which rambles, uses language that is ambiguous in places, and contains a significant error (if being very generous, it could be very lazy English causing an unintended meaning) on the very page I opened it on.

It's probably best for people who already know sockets really well, but who are switching from one language to another (e.g. C++ or Java to C#). Those people probably know what model and options to use, just need to see how to do it in C# - something the book does do well.