Re[5]: Блокирующие сокеты
От: Sergino Россия  
Дата: 02.08.04 15:44
Оценка:
Здравствуйте, artgonch, Вы писали:

A>>Socket.Available — не?

A>Но, если я пароверю своцство Available, а данные еще не пришли, то я опять проскочу мимо. Или придется крутиться в цикле. А ведь это потеря процессорного времени. Нужен такой способ, чтобы операционная система блокировала нить (блокирующий сокет), но при этом послкдний холостой вызов Receive не блокирвал нить. Или так сделать нельзя?

А как сокет определит, будут еще данные приходить или уже нет? Блокирующие сокеты можно использовать, только если ты заранее знаешь, сколько данных будет. И то это не совсем правильно, так как если отправляющий конец по какой-то причине отвалится, ты будешь бесконечно ждать ответа. Правильным решением при использовании блокирующих сокетов было бы создание таймаутов. Хотя я например вообще против использования блокирующих сокетов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.