Network Programming
in .NET
Metzger, Debugging by Thinking,
ISBN 1-55558-307-5, 600pp, 2003
Mosher, Microsoft Outlook Programming: Jump Start for Administrators, Developers,
and Power Users,
ISBN 1-55558-286-9, 624pp, 2002
Lawrence, Compaq Visual Fortran: A Guide to Creating Windows Applications,
ISBN 1-55558-249-4, 468pp, 2002
Breakfield & Burkey, Managing Systems Migrations and Upgrades: Demystifying
the Technology Puzzle, 320pp,
ISBN 1-55558-256-7, 2002
For more information or to order these and other Digital Press
titles, please visit our website at www.bh.com/digitalpress!
At www.bh.com/digitalpress you can:
•Join the Digital Press Email Service and have news about
our books delivered right to your desktop
•Read the latest news on titles
•Sample chapters on featured titles for free
•Question our expert authors and editors
•Download free software to accompany select texts
Network Programming
in .NET
With C# and Visual Basic .NET
Fiach Reid
AMSTERDAM • BOSTON • HEIDELBERG • LONDON
NEW YORK • OXFORD • PARIS • SAN DIEGO•
SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO
Elsevier Digital Press
200 Wheeler Road, Burlington, MA 01803, USA
Linacre House, Jordan Hill, Oxford OX2 8DP, UK
Copyright © 2004, Elsevier Inc. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior written permission of the publisher.
Permissions may be sought directly from Elsevier’s Science & Technology Rights
Department in Oxford, UK: phone: (+44) 1865 843830, fax: (+44) 1865 853333,
e-mail: You may also complete your request on-line
via the Elsevier homepage (), by selecting “Customer Support”
and then “Obtaining Permissions.”
Recognizing the importance of preserving what has been written, Elsevier prints its
books on acid-free paper whenever possible.
Library of Congress Cataloging-in-Publication Data
Application submitted.
ISBN: 1-55558-315-6
British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library.
For information on all Digital Press publications
visit our Web site at www.digitalpress.com and www.bh.com/digitalpress
04 05 06 07 08 09 10 9 8 7 6 5 4 3 2 1
Printed in the United States of America
540
UDP server, 60, 61
Visual Studio .NET, 13
wait handles, 490–91
Web server implementation, 114, 115,
116–17, 118–19, 120, 122, 123,
124
Web service deployment, 486
Web services, 482–83
Web service security, 496, 497
Web service use, 487, 488
WHOIS, 325
WinPCap with rvPacket, 356–57, 358–59
WMI, 331–32, 333
WYSIWYG editor, 108, 109, 110–11, 112
ZIP compression, 292, 293–94, 295
Video compression, 302–3
Virtual private networks (VPNs)
advantages, 199
defined, 198
gateway address, 199
operation, 199
setting up, 198–99
Visual Studio .NET, 11
Add Reference dialog, 149
C# code, 14
Customize Toolbox dialog, 13, 51
defined, 11
form design view, 14
.NET Add Reference dialog, 102
New Project dialog, 12
Properties tool window, 15
using, 12–16
VB.NET code, 13
Voice over IP (VOIP), 454
Wait handles, 490–91
C#, 490
defined, 490
VB.NET, 490–91
See also Web services
Index
Wave sound player application, 413
Web browsers
iMode, 130
Internet Explorer, 105–7, 240
mobile, 128–30
WebProxy class, 268
WebRequest class, 95
Web scripting languages, 99
Web servers, 113–24
implementing, 114–24
installation, 113
response, 95
Web Service Definition Language (WSDL),
485
Web services, 481–500
asynchronous calls to, 489–93
attachments, 498–500
benchmarking tests, 494
benefits, 481
C#, 482, 483
callbacks, 491–93
client application, 489
clients, testing, 488
creating, 481–86
deploying, 485–86
enhancements, 497–500
extensions, 498–500
interoperability, 493–94
performance, 494–95
routing, 500
security, 495–97
SOAP result, 484
using, 486–89
VB.NET, 482–83
wait handles, 490–91
Web Services Enhancements (WSE), 497,
498, 499
WHOIS, 321–26
C#, 324, 325
client application, 326
defined, 321
Index
design, 321
queries, 322, 324
reply, 323
servers, 321, 322
VB.NET, 325
Widgets, 18
Windows Management Instrumentation
(WMI), 303, 329–35
C#, 330–31, 332
class, 333, 334
data, 330
defined, 329
leveraging, 333–35
queries, 333
query language analyzer application, 333
remote process manager application, 335
uses, 329
VB.NET, 331–32, 333
Windows multimedia API functions, 408
Windows registry
access functionality, 124
data, drilling down, 123
defined, 122
WinPCap, 354–66
hardware filters, 365
packet send/receive capability, 366
with PacketX control, 360–66
with rvPacket wrapper, 354–60
Wireless application protocol (WAP), 128
Wireless markup language (WML), 128
HTML conversion to, 130
minimal page in, 129
sample page, 129
Wireless transfer protocol (WTP), 128
World Wide Web Consortium (W3C), 8, 9
defined, 9
responsibilities, 9
WSDL.EXE, 485
WYSIWYG editor, 105–13
C#, 108, 109, 110, 112
defined, 105
541
Internet Explorer as, 105
VB.NET, 108, 109, 110–11, 112
X.25, 247
X.509 certificates, 241–42, 449
XML, 9
remote object hosting, 511
remoting configuration, 509
serialized object view, 40
support, 493
Web service response, 484
XML schema definition (XSD), 43
XMLSerializer class, 44
YUV format, 302
ZIP compression, 290, 291–96
application, 295
C#, 292, 293, 295
decompression and, 296
files, 293, 294, 295, 296
Huffman compression, 291
implementing, 291–96
VB.NET, 292, 293–94, 295
See also Lossless compression
Index