Вы же знаете про Winsock, так вот, можно без него, спустившись на уровень ниже. Не то чтобы это было сильно необходимо, но для понимания внутреннего устройства Windows может быть полезно. Основной пример для TCP и IPv4, но в конце сказано как переделать для UDP и IPv6.