In order to support Windows without adding a lot of #ifdefs all over the code I decided to move all the inclusions of platform-specific network headers into a separate include file. Windows use separate subsystem for sockets (WinSock), and it is almost compatible with how it works on Unix except from:
* The socket handle is a SOCKET and not a typical filedescriptor. * It should be closed with closesocket() and not close(). * It does not set the global errno variable, but one should call WSAGetLastError() instead.