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? 1.6 Exercises
2 Basic Sockets
2.1 Socket Addresses 2.2 Socket Implementationin.NET 2.3 TCP Sockets 2.4 UDP Sockets 2.5 The.NET Socket Class 2.6 Exercises
3 Sending and Receiving Messages
3.1 Encoding Information 3.2 Composing I/O Streams 3.3 Framing and Parsing 3.4 Implementing Wire Formats in C# 3.5 Wrapping Up 3.6 Exercises
4 Beyond the Basics
4.1 Nonblocking I/O 4.2 Multiplexing 4.3 Threads 4.4 Asynchronous I/O 4.5 Multiple Recipients 4.6 Closing Connections 4.7 Wrapping Up 4.8 Exercises
5 Under the Hood
5.1 Buffering and TCP 5.2 Buffer Deadlock 5.3 Performance Implications 5.4 TCP Socket Life Cycle 5.5 Demultiplexing Demystiﬁed 5.6 Exercises
Appendix: Handling Socket Errors Bibliography Index
"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
Software applications developers and programmers who use the C# language
- No. of pages:
- © Morgan Kaufmann 2004
- 29th April 2004
- Morgan Kaufmann
- Paperback ISBN:
- eBook ISBN:
"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
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.
Akamai Technologies, Fort Lee, NJ
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.
Baylor University, Waco, TX, USA
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.
University of Kentucky, Lexington, KY, USA