|
0 / 0 / 0
Регистрация: 31.08.2019
Сообщений: 17
|
||||||
Пытаюсь создать не блокирующийся recv, не могу понять почему блокировка все рано происходит16.10.2021, 22:17. Показов 8142. Ответов 12
0
|
||||||
| 16.10.2021, 22:17 | |
|
Ответы с готовыми решениями:
12
Не могу понять почему происходит удаление записей Не могу понять, почему не происходит выход из цикла |
|
0 / 0 / 0
Регистрация: 31.08.2019
Сообщений: 17
|
||||||
| 16.10.2021, 22:48 [ТС] | ||||||
0
|
||||||
|
Любитель чаепитий
|
||
| 17.10.2021, 08:39 | ||
|
а если у него не указан timeout, то он так же зависнет навсегда,как и recv у блокирующего сокета, пока не произойдёт событие для одного из сокетов, в нём указанных.
1
|
||
|
0 / 0 / 0
Регистрация: 31.08.2019
Сообщений: 17
|
|
| 17.10.2021, 14:53 [ТС] | |
|
Спасибо попробую, и еще я немного не понимаю какие дынне select возвращает, вот например я проверяю сокет на то что есть данные на чтение, и вот они появились что он мне вернет? Количество сокетов готовых к чтению? И что он возвращает если этих сокетов нет?
0
|
|
|
Любитель чаепитий
|
|
| 17.10.2021, 17:59 | |
|
1
|
|
|
COM‐пропагандист
|
|
| 17.10.2021, 22:24 | |
|
Если у вас GUI, не используйте эти функции, потому что либо recv, либо select блокируют GUI.
Чтобы не блокировать GUI, вам придётся выбрать: * запускать сеть в отдельном потоке — но тогда надобность в «неблокирующем» режиме отпадает. * переключить сокет в асинхронный режим WSAAsyncSelect и обрабатывать оконные сообщения сокета. * использовать WSARecv со структурой OVERLAPPED и перекрывающиеся операции ввода‐вывода + MsgWaitForMultipleObjectsEx.
1
|
|
|
COM‐пропагандист
|
||
| 18.10.2021, 08:58 | ||
|
Не очень понятно, что значит «не запрос‐ответ». Поясните что вы имеете ввиду?
1
|
||
|
Любитель чаепитий
|
|||
| 18.10.2021, 09:14 | |||
|
ещё один поток создать? или вызвать в главном потоке? тогда тоже блокирующий вызов. существуют протоколы, которые действуют иным путём.
1
|
|||
|
2674 / 1336 / 480
Регистрация: 08.11.2016
Сообщений: 3,692
|
|
| 18.10.2021, 09:21 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 31.08.2019
Сообщений: 17
|
|
| 18.10.2021, 18:05 [ТС] | |
|
У меня HTTP протокол, с отправкой HTML страниц проблем нет, я уже даже организовал всю систему связанную с этим, вроде бы все сделад нормально, но как я понимаю в момент когда браузер уже непосредственно читает HTML код который я ему отправил и встречает в нем например <img> то он отправляет мне запрос с тем что бы я ему отправил это изображение. Но это у меня не реализовано и все страницы открываются без изображений, CSS кода и других ресурсов которые нужно давать во время обработки. И тут я встрял в момент когда мне нужно отправлять и одновременно читать запросы на ресурсы мой recv просто встает в ожидании и страница естественно останавливает загрузку, т.к цикл отправки встает(я читаю строку HTML из файла и сразу отправляю и тут же жду ответа). В общем в чем то я ошибся, это мой первый опыт. Но залазить в многопоточность очень не хочется, я компилирую через mingw, а там с этим проблемы.
0
|
|
|
COM‐пропагандист
|
|
| 18.10.2021, 19:07 | |
|
Ваш браузёр делает запросы к вам синхронно или асинхронно?
1
|
|
|
0 / 0 / 0
Регистрация: 31.08.2019
Сообщений: 17
|
||||||
| 18.10.2021, 20:05 [ТС] | ||||||
|
А вот это я не знаю, вроде как синхронно, я пробовал сначала передать весь HTML но ответа не последовало, а потом попробjвал передавать по одной строке и читать вроде бы он мне начал отвечать. Видимо синхронно, но я не знаю как на это влиять, я могу указать это в header?
Добавлено через 9 минут
Не обращайте внимания на немного другое название функций winsock я сделал небольшую оболочку что бы было попроще.
0
|
||||||
| 18.10.2021, 20:05 | |
|
Помогаю со студенческими работами здесь
13
Анализ сортировок массивов. Не могу понять, почему происходит ошибка Не могу понять почему происходит разный вывод в консоль и файл Пытаюсь понять комбинаторику.Не могу понять какую формулу использовать пытаюсь подключить по локальной сети вроде всё подключил но не могу создать группу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|