Networking in the Windows Server 2003 SDK

Posted August 28, 2003

Chat Date: July 30, 2003

Please note: Portions of this transcript have been edited for clarity

Chat Participants:

  • Anthony, Test Lead for the Winsock API
  • John, Editor on the Platform SDK
  • Doug, Programmer/Writer for Network Management, SNMB, P2P, and Live Communications Server
  • Janet, Editor on the Platform SDK
  • John Buscher, Windows Server MVP lead

Moderator: John (Microsoft)
Welcome to today's chat on Networking in the Windows Server 2003 SDK. We have a great line-up of hosts ready to take your questions. Let's take a moment and introduce them.

Moderator: John (Microsoft)
Hi my name is John Buscher I'm the Windows Server MVP lead

Host: Anthony (Microsoft)
Hi, my name is Anthony. I am the Test Lead for the Winsock API.

Host: JohnA (Microsoft)
Hi I'm John and I'm an editor on the Platform SDK

Host: JohnA (Microsoft)
I'm also Doug, and I'm the Programmer/Writer forNetwork Management, SNMB, P2P, and Live Communications Server

Host: Janet (Microsoft)
Hi I'm Janet, and I'm also an editor for the Platform SDK.

Host: JohnA (Microsoft)
Q: Can you suggest me about ---> how to write a prgram that print a sentence through USB ports or LPT port or both?
A: You'll need to configure a socket that corresponds to USB through the OS directly. As far as I can tell, there is no way in .NET to determine if a socket directly maps to a USB or other hardware port - that's not part of .NET's abstraction model

Host: JohnA (Microsoft)
Q: What is the Windows Server 2003 SDK? I assume the Platform SDK.
A: You are correct; it's the Platform SDK. July 2003 is the latest release of the Platform SDK.

Host: Jay (Microsoft)
Q: I want to make my app IPv6-ready. What do I have to do?
A: There is a porting guide up at https://www.microsoft.com/windowsserver2003/technologies/ipv6/default.mspx

Host: Anthony (Microsoft)
Q: I want to make my app IPv6-ready. What do I have to do?
A: A couple things need to happen. Winsock applications need to switch from using gethostbyname to getaddrinfo. Clients should resolve hostnames first and then iterate through the addresses returned which may be both IPv4 and IPv6. The client should attempt to connect to each address returned until one succeeds. Servers should create both IPv4 and IPv6 sockets for handling incoming requests.

Host: JohnA (Microsoft)
Q: When should I use winsock instead of RPC or something else?
A: I would use it when I'm implementing a custom protocol stack, or a very lightweight networking model not covered by an existing protocol. RPC's abstraction targets distributed computing.

Host: Anthony (Microsoft)
Q: When should I use winsock instead of RPC or something else?
A: One advantage to Winsock is you have explicit control over which protocol communication occurs over. You also have more control over connection handling and how/when data is sent.

Host: Anthony (Microsoft)
Q: Seems NetSH and IP Helper have similar capabilities. But NetSh is for scripting vs programming? When should I use NetSh, when should I use IP Helper?
A: Typically when applications need to manipulate or retrieve networking properties, IP Helper is more convenient. There are some properties which cannot be set through IP Helper so that an app can call CreateProcess to manipulate it via NETSH. Otherwise, NetSH is really used by administrators either interactively or by scripts.

Host: Janet (Microsoft)
Another great site for getting information on Microsoft's implementation of IPv6 is the following: https://www.microsoft.com/windowsserver2003/technologies/ipv6/default.mspx

Host: JohnA (Microsoft)
Q: I'm developing a p2p app, and I see that you have both Grouping and Graphing - which one am I supposed to use?
A: Grouping is provided as a convenient, specific implementation of P2P Graphing that uses a preconfigured SSP - in this case, X.509 certs. Graphing allows you to hook up a custom SSP, as well as manage the P2P connections more closely.

Moderator: John (Microsoft)
Thanks to all of you for participating and to the Windows Networking SDK development team for being here today! We hope you found this informative and useful!

Host: Anthony (Microsoft)
Thank you. Bye.

Host: Janet (Microsoft)
Thanks for attending the chat. I hope it's been useful!

Top of Page