use SOL_SOCKET instead of IPPROTO_TCP, for Windows compatibility