Есть у меня класс обёртка над сокетом
У него есть функция Connect
Там я перевожу сокет в не блокирующий режим
Делаю connect
Жду с помощью select
Если не дождался, кидаю Exception
Процедура завершается
Но я передавал в connect указатель на sockaddr_in
Он теперь стал недействительным
А сокет то всё ещё делает connect
Его нужно как-то остановить?
Или он скопировал себе структуру?
Вопрос_2
Как обстоит дело с recv?
Там то я передаю указатель на буфер данных
Вышел я из процедуры через Exception
А он данные получил и запишет их уже по не валидному адресу
Вопрос_3
Слава богу у recv есть встроенный timeout
Который я устанавливаю через setsockopt RCVTIMEO
Но когда я замеряю время через которое вернёт управление reсv
Всегда получается на 500мс больше
Ставлю 3000, получаю 3500
Ставлю 10000, получаю 10500
Что-то делаю не так?
Вопрос_4
Функции с префиксом WSA чем то лучше обычных?
Быстрее?
Или чисто интерфейс другой?