ответ от сервера
При получении ответа от сервера, (при отсылки почты через смтп), функция recv в какой то момент зависает... Помогите плз, может как то обойти эту функцию и получить ответ другим способом?
А это уже смотря как ответ получать. Его получать надо вызовами recv по 1 байту в цикле. Если брать блоками, то есть реальная возможность ждать до бесконечности, т.к. если ответ сервера будет меньше длины блока, то recv не возвратится!!!
А это уже смотря как ответ получать. Его получать надо вызовами recv по 1 байту в цикле. Если брать блоками, то есть реальная возможность ждать до бесконечности, т.к. если ответ сервера будет меньше длины блока, то recv не возвратится!!!
Большое спасибо за совет, но не помогло...
Дело в том, что ответ от сервера я немогу получить в момент отправки данных в блоке
DATA ... QUIT. До этого по стандарту СМТП, все отправляется и принимается ответ. В этом же блоке, на попытке получить ответ, приложение виснет и именно на функции recv. Мне кажется, это из-за того, что данные в этом блоке, считаются отним целым. И ответ от сервера не приходит...
Если это так, тогда вопрос, как можно отловить обрыв связи (таймаут) в этом блоке...
Зарание спасибо.