Не проблема платформы, я могу это гарантировать. Скорее всего, любая переменная, которую вы используете для доступа к дескриптору сокета, не является поточно-ориентированной и используется в вызове send () перед созданием фактического сокета.
Другой возможной причиной является наличие многоуровневых провайдеров winsock. «netsh winsock show» в приглашении cmd покажет вам установленных провайдеров, и вы можете попробовать удалить любых сторонних поставщиков.