📄 npwindows.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><html lang="en"><head><title>Winsock Programmer's FAQ: Reviews</title><link rel="Stylesheet" type="text/css" href="../faq.css"></head><body bgcolor="#ffffee" text="#000000" link="#491e00" vlink="#7d2e01" alink="#da7417"><!-- ---- Header Bar ---- --><table border="0" width="95%" bgcolor="#006000" cellpadding="5" cellspacing="3" align="center"> <tr> <td align="left" bgcolor="#e0e0c0"> <font size="2" face=Verdana,Arial,Helvetica> <b><a href="../reviews/wsnp.html"><<</a></b> </font> </td> <td align="center"> <font face=Verdana,Arial,Helvetica color="#ffffee"> <p align=center class=bigger3><b> Winsock Programmer's FAQ<br> Section 8: Reviews<br> </b></p> </font> </td> <td align="right" bgcolor="#e0e0c0"> <font size="2" face=Verdana,Arial,Helvetica> <b><a href="../reviews/w32np.html">>></a></b> </font> </td> </tr></table><!-- ---- Body Table ---- --><table width="95%" border="0" cellpadding="10"> <tr valign="top"> <td><img src="bitmaps/npwindows-cover.jpg" width=171 height=210alt="cover image" align=right><h3><i>Network Programming for Microsoft Windows</i></h3><p class=inset>by Anthony Jones and Jim Ohlund<br>Microsoft Press, August 1999<br>675 pp.<br>ISBN 0-7356-0560-2<br>$49.99 list,<a href="http://www.amazon.com/exec/obidos/ASIN/0735605602/winsockprogramme"> $39.99 at Amazon.com (click to purchase)</a><br></p><p class=inset>Book reviewed 4/22/2000</p><br clear=all><p>Oh how boring, yet another excellent reference book from MicrosoftPress. They're making fine publishing into a habit. :)</p><p>This book is a lot like other classics from Microsoft Press:nearly complete coverage of a Microsoft technology written by trueexperts. (In this book's case, two of Microsoft's network developersupport engineers. They are now design engineers at Microsoft, presumablyworking on Winsock and related things.)</p><p>The book is also a lot like Ralph Davis' <i><a href="w32np.html">Win32Network Programming</a></i>: it covers a lot more than Winsock, strayinginto legacy APIs like NetBIOS and named pipes. Unlike Davis' book, though,the book assumes that you have a grasp of Win32 API basics like threadsand security. This is because Microsoft Press already has a Win32 APIreference: Jeffrey Richter's <i><a href="http://www.amazon.com/exec/obidos/ASIN/1572319968/winsockprogramme"> Programming Applications for Microsoft Windows</a></i>.</p><h4>The Winsock Coverage</h4><p>In place of the Win32 basics in Davis' similarly-sized book, Jonesand Ohlund go into much more depth in the Winsock sections. They takeeight chapters to cover Winsock, totalling some 350 pages. (There arenine Winsock chapters if you count the 30-page chapter on the VisualBasic Winsock control.)</p><p>The first Winsock chapter describes Winsock from the API perspective.There is very little theoretical discussion: the chapter feels a bitlike an expanded version of the MSDN docs, organized into a logicalsequence.</p><p>The next chapter covers the various I/O models available toa Winsock programmer. In addition to the expected coverage ofblocking sockets and nonblocking sockets with <code>select()</code>,<code>WSAAsyncSelect()</code>, <code>WSAEventSelect()</code> andoverlapped I/O, this chapter also covers I/O completion ports,which to date have never been covered in book form. This chapter ismore descriptive than prescriptive: it offers little advice on <ahref="../articles/io-strategies.html">which I/O strategy</a> you should choose.</p><p>The next several chapters cover <code>set/getsockopt()</code> and<code>WSAIoctl()</code> options, the Winsock 2 name lookup API, IP andATM multicasting, and the various quality of service mechanisms. I didnot read these chapters carefully, but they seem to be good material ifyou need information on these topics.</p><p>The last two Winsock chapters cover two more technologies that todate have seen very little authoritative coverage: raw sockets and theWinsock 2 service provider interface (SPI). The raw sockets chapterstarts off with the obligatory "ping" sample and then goes into moreinteresting subjects like how to change network packet headers with the<code>IP_HDRINCL</code> socket option.</p><h4>The Rest of the Book</h4><p>It's kind of odd, but the first section of the book (about 110 pages)covers "Legacy APIs" (their term). These include NetBIOS, the redirector,named pipes and mailslots. This material should have been hidden at theback of the book in appendices, in my humble opinion. To most programmers,reading this material is like listening to old fart programmers talkabout card decks and teletypes. It makes you feel better about thecurrent state of programming.</p><p>Following the second section on Winsock, the book winds down with afinal one-chapter section on the RAS API.</p><p>The remaining 75 pages are given to appendices. Tucked in among theseis an appendix on the IP helper functions that appeared (variously)in Windows 98, Windows NT service pack 4, and Windows 2000. The helperfunctions encapsulate some truly useful functionality that used to bemuch harder to use. I think this is more deserving of a chapter in themain section of the book than, say, named pipes.</p><h4>Yet Another Winsock Book. Should I Care?</h4><p>This book's main claim for a place on your bookshelf is simple:it covers many topics that have never been covered in a book to date.The fact that it's from Microsoft Press also carries some weight as itmakes clear where Microsoft's interests lie within the broad scope ofWindows networking.</p><p>Assuming that you are an experienced Win32 programmer, this is probablythe best get-started-quickly tutorial and reference book for Winsock onthe market today. If you already have Winsock books but need a referencefor advanced topics like I/O completion ports, this book will fill thatneed, too.</p><h4>Related Resources</h4><p>There are several reviews of this book at<a href="http://www.amazon.com/exec/obidos/ASIN/0735605602/winsockprogramme"> Amazon.com</a>.</p><p><a href="http://mspress.microsoft.com/books/2459.htm">MicrosoftPress</a> also has a page dedicated to this book.</p> </td> </tr></table><!-- ---- Document Footer ---- --><hr noshade size=1 color=#404040><table cellpadding=5 cellspacing=0 border=0 width=95% align=center> <tr> <td align=left> <a href="../reviews/wsnp.html"><< Windows Sockets Network Programming</a> </td> <td align=right> <a href="../reviews/w32np.html">Win32 Network Programming >></a> </td> </tr> <tr> <td align=left> <i>Last modified on 29 April 2000 at 15:52 UTC-7</i> </td> <td align=right> <font size=-1>Please send corrections to <a href="mailto:tangent@cyberport.com">tangent@cyberport.com</a>.</font> </td> </tr> </table> <table cellpadding=5 cellspacing=0 border=0 width=95% align=center> <tr> <td align=left width=33%> <font size=-1> <a href="../index.html"><b><</b> Go to the main FAQ page</a> </font> </td> <td width=33%> <font size=-1> <center> <a href="http://www.cyberport.com/~tangent/programming"><b><<</b> Go to my Programming pages</a> </center> </font> </td> <td align=right width=33%> <font size=-1> <a href="http://www.cyberport.com/~tangent/"><b><<<</b> Go to my Home Page</a> </font> </td> </tr> </table> </body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -