| help | account  


TCP/IP Sockets in C# Practical Guide for Programmers
View Larger Image
David Makofske, Michael J. Donahoo, Kenneth L. Calvert
Morgan Kaufmann, Paperback, Published April 2004, 175 pages, ISBN 0124660517
List Price: $24.95
Our Price: $22.50
You Save: $2.45 (10% Off)


FREE Shipping on Orders over $40!*
Availability: Out-Of-Stock

Customer Reviews: 1     Average Customer Rating:

Write a Review and tell the world about this title!

People who purchase this book frequently purchase:

Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:

  • From the authors of the bestselling book, TCP/IP Sockets in C.

  • Tutorial-based instruction in key sockets programming techniques, focusing exclusively on C# and complemented by examples throughout.

  • 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.

C# and .NET have experienced the quickest jump in industry interest and the need for skilled professionals since Java was invented. It is Microsoft's intention that .NET become the primary method of all programming on Windows platform, and C# will be a primary component of that effort. Microsoft's market share and influence in this arena ensure that .NET will inevitably reach a critical mass of industry adoption and popularity. The proposed book focuses on the underlying sockets class, which is one of the basis for learning about networks in any programming language. By learning to write simple client and server programs that use TCP/IP (the Internet architecture), students and practitioners can then go on to realize key concepts about network routing, framing, error detection and correction, and performance. The authors' goal in this book is to provide a basic tutorial to sockets programming in the C# language, which as mentioned above is quickly gaining in popularity.

 

Table of Contents

Chapter 1 Introduction

1.1 Networks, Packets, and Protocols
1.2 About Addresses
1.3 About Names
1.4 Clients and Servers
1.5 What is a Socket?

Chapter 2 Basic Sockets

2.1 Socket Addresses
- Coverage of the IPAddress and IPEndPoint classes.
2.2 TCP Sockets
2.2.1 TCP Client
- Coverage and example of the TCPClient class.
2.2.2 TCP Server
- Coverage and example of the TCPListener class.
2.2.3 Network Streams
- Coverage and examples of the NetworkStream class, and writing to and reading from it.
2.3 UDP Sockets
2.3.1 Datagram Packet
- Coverage of what a UDP datagram packet is, and examples of creating a packet using a byte array
2.3.2 UDP Client
- Coverage of the UDPClient class used as a client.
2.3.3 UDP Server
- Coverage of the UDPClient class used as a server.
2.3.4 Sending and Receiving with UDP Sockets
- Example of the UDPClient class used as a client and server.

Chapter 3 Sending and Receiving Messages

- The concept of encoding and encapsulating network data for Java and C# is essentially the same. The examples in the Java book can be adapted to C# using C#'s Encoder and Decoder classes.

3.1 Encoding Information
3.1.1 Text
3.1.2 Binary Numbers
- BinaryReader and BinaryWriter C# classes
3.1.3 Composing Network Streams for Input and Output
3.2 Framing and Parsing
3.3 Implementing Wire Formats in C#
3.3.1 Text-oriented Representation
3.3.2 Combined Data Representation
3.3.3 Sending and Receiving
3.4 Wrapping Up

Chapter 4 Beyond the Basics

4.1 The Sockets Class
- The details of the Sockets Class and its additional functionality.
4.1.1 Basic Send and Receive API
4.1.2 Setting Socket Options (SetSocketOption() method)
4.1.3 Getting Socket Options (GetSocketOption() method)
4.2 Multitasking
- The multitasking section can parallel the java examples quite neatly. C# also has a Thread Class and a Thread Pool Class.
4.2.1 C# Thread Class
4.2.2 Server Protocol
4.2.3 Thread Per-Client
4.2.4 Factoring the Server
4.2.5 C# Thread Pool
4.3 Nonblocking I/O
- The Non-blocking I/O section will use the Socket Class with asynchronous specific API calls
4.3.1 Socket Class Blocking Property
4.3.2 Socket Class methods BeginAccept(), BeginRead(), BeginReceive()
4.3.2 Connecting and Sending, Socket Class method BeginSend()
4.3.3 Limiting Per-Client Time (SocketOptionName.SendTimeout)
4.4 Multiple Recipients
- Broadcast and Multicast examples can follow the Java examples exactly and use the UDPClient Class.
4.4.1 Broadcast
4.4.2 Multicast
4.5 Closing Connections
4.6 Wrapping Up

Chapter 5 Under The Hood

5.1 Buffering and TCP
5.2 Buffer Deadlock
5.3 Performance Implications
5.4 TCP Socket Life Cycle
5.4.1 Connecting
5.4.2 Closing A TCP Connection
5.5 Demultiplexing Demystified


Customer Reviews

Customer Reviews: 1     Average Customer Rating:

Jan 19, 2007     
People will steal your copy
Everyone in my group keeps borrowing this book. It is very helpful and has lots of sample code so you can learn by doing. It goes straight to the point without a lot of rambling like some books tend to do.



Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account