| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Чтение из сокета c ReceiveBuf без ожидания |
| Автор: Georg275 28.10.2020, 12:47 |
| Добрый день. Читаю данные из сокета функцией ReceiveBuf компонента TClientSocket. Свойство ClientType=ctBlocking. Данные читаются нормально. Но возникает проблема, когда этих данных нет. Это не то что бы штатная ситуация, но вполне возможная. По-хорошему, программа должна попытаться их прочитать и случай отсутствия данных специальным образом обработать. Однако же ReceiveBuf стопорит работу всего потока в ожидании когда данные поступят. Использовать события при возможности не хотелось бы. У меня опрашивается одновременно несколько портов, а сами клиентсокеты автоматически создаются. Есть ли возможность читать из ReceiveBuf или другой подобной функции без ожидания прихода данных? |
| Автор: Romikgy 29.10.2020, 22:04 |
Count := -1 функция вернет количество байт во внутреннем буфере сокета или функция ReceiveLength сделает тоже |