http://www.codeproject.com/vb/net/winsockdotnet.asp
Introduction
I started with this control when I found that VB.NET does not support the Winsock control I used to use in VB6. It's been a while in coming, but I finally got it out and ready. The biggest challenge I had was using the TcpClient object and getting the RemoteIP. Good luck doing that - maybe in the next version of Studio but not in 2003. So I ditched the TcpClient and went with sockets.