Что такое Winsock? В свое время для разработки сетевых приложений на операционных системах Berkeley Software Distribution (BSD) UNIX была разработана парадигма сетевых сокетов (Berkeley socket). Сетевой сокет - программный интерфейс обеспечивающий информационный обмен между сетевыми процессами. Данная парадигма также была подхвачена разработчиками операционной системы Windows компании Microsoft. Так был разработан прикладной интерфейс для сетевого программирования - Windows Sockets 1.1 и в настоящее время - Windows Sockets 2.
Для ознакомления с данным интерфейсом можно воспользоваться технической библиотекой компании Microsoft - msdn Windows Socket 2, либо скачать в off-line режиме отличный (на мой взгляд) FAQ, либо в on-line - http://tangentsoft.net/wskfaq/. Данный FAQ на английском. Здесь представлены примеры реализации данного интерфейса и есть ответы на различные интересные вопросы.