On its own, C# simplifies network programming. Combine it with the precise instruction found in C# Network Programming, and you'll find that building network applications is easier and quicker than ever. This book helps newcomers get started with a look at the basics of network programming as they relate to C#, including the language's network classes, the Winsock interface, and DNS resolution. Spend as much time here as you need, then dig into the core topics of the network layer. You'll learn to make sockets connections via TCP and connectionless connections via UDP. You'll also discover just how much help C# gives you with some of your toughest chores, such as asynchronous socket programming, multithreading, and multicasting.
Network-layer techniques are just a means to an end, of course, and so this book keeps going, providing a series of detailed application-layer programming examples that show you how to work with real protocols and real network environments to build and implement a variety of applications. Use SNMP to manage network devices, SMTP to communicate with remote mail servers, and HTTP to Web-enable your applications. And use classes native to C# to query and modify Active Directory entries.
Rounding it all out is plenty of advanced coverage to push your C# network programming skills to the limit. For example, you'll learn two ways to share application methods across the network: using Web services and remoting. You'll also master the security features intrinsic to C# and .NET--features that stand to benefit all of your programming projects.
Author(s): Richard Blum
Publisher: Sybex
Year: 2002
Language: English
Pages: 672
Table of Contents
BackCover
C# Network Programming
Introduction
How This Book Is Organized
Part I: Network Programming Basics
Part II: Network Layer Programming
Part III: Application Layer Programming Examples
Keeping Up to Date
Part I: Network Programming Basics
Chapter 1: The C# Language
Basics of .NET
Installing a C# Development Environment
The C# Runtime Environment
C# Programming Basics
C# Features
Summary
Chapter 2: IP Programming Basics
Watching Network Traffic
Analyzing Network Packets
Programming with TCP and UDP
Finding IP Address Information
Summary
Chapter 3: C# Network Programming Classes
A Primer on Socket Programming
C# Socket Programming
C# Socket Helper Classes
Summary
Chapter 4: DNS and C#
Chapter 4: DNS and C#
Windows DNS Client Information
DNS Classes in C#
Summary
Part II: Network Layer Programing
Chapter 5: Connection-Oriented Sockets
A Simple TCP Client
When TCP Goes Bad
Using C# Streams with TCP
Summary
Chapter 6: Connectionless Sockets
A Simple UDP Application
Distinguishing UDP Messages
When UDP Goes Bad
A Complete UDP Application
Summary
Chapter 7: Using The C# Sockets Helper Classes
The TcpClient Class
The TcpListener Class
The UdpClient Class
Moving Data across the Network
Summary
Chapter 8: Asynchronous Sockets
Windows Event Programming
Using Asynchronous Sockets
Sample Programs Using Asynchronous Sockets
Using Non-blocking Socket Methods
Summary
Chapter 9: Using Threads
Creating Threads in a Program
Using Threads in a Server
Using Threads for Sending and Receiving Data
Thread Pools
Using Thread Pools in a Server
Summary
Chapter 10: IP Multicasting
What Is Broadcasting?
Using Broadcast Packets to Advertise a Server
What Is Multicasting?
C# IP Multicast Support
Sample Multicast Application
Summary
Part III: Application Layer Programming Examples
Chapter 11: ICMP
Using Raw Sockets
Creating an ICMP Class
A Simple Ping Program
An Advanced Ping Program
The TraceRoute.cs Program
The FindMask Program
Summary
Chapter 12: SNMP
Understanding SNMP
Working with SNMP Packets
Creating a Simple SNMP Class
The SimpleSNMP Program
Using Vendor MIBs
Using GetNextRequest Queries
Summary
Chapter 13: SMTP
E-mail Basics
SMTP and Windows
The SmtpMail Class
Using Expanded Mail Message Formats
Mail Attachments
The MailAttachment Class
A POP3 Client
Summary
Chapter 14: HTTP
Advanced Web Classes
Web Services
Summary
Chapter 15: Active Directory
Working with Active Directory
Using C# to Access a Network Directory
Modifying Directory Data
Searching the Network Directory
Summary
Chapter 16: Remoting
Moving Data, Revisited
An Overview of Remoting
Using Remoting
Creating a Proxy Class Using soapsuds
Summary
Chapter 17: Security
Socket Permissions
Protecting Network Data
Protecting Network Datacipher block chaining initialization vector (IV)
Summary
Index
Index A
Index B
Index C
Index D
Index E
Index F
Index G
Index H
Index I
Index J
Index K
Index L
Index M
Index N
Index O
Index P
Index Q
Index R
Index S
Index T
Index U
Index V
Index W
Index X
Index Z
List of Figures
List of Tables
List of Listings
List of Sidebars