When designing with sockets you need to #include <winsock2.h> and usually also #include <windows.h>.
The ordering of these matters. You must include the winsock header first, before including the windows
header.
A student has reported that if you #define _WINSOCKAPI_ before #include <windows> then you can include
the winsock header wherever you like.