Во время беглого осмотра я заметил, что в remote_addr могут оставаться неинициализированные куски.
Все такие структуры следует всегда обнулять перед заполнением.
Еще WSAGetLastError возвращает int, как и WSAStartup, использование макроса FAILED ошибочно.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.