|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
Плохо работает recv08.05.2019, 17:34. Показов 3211. Ответов 33
Метки нет (Все метки)
Не кто не сталкивался с проблемой. recv читает первый раз хорошо все данные приходят как надо, на второй раз он читает в буфер 0, 0 читает столько сколько указано в 3 параметре и это длится бесконечно, то есть сокет не блокируется, при этом "Сервер" не чего не отправляет стоит на бреакпоинте.
0
|
|
| 08.05.2019, 17:34 | |
|
Ответы с готовыми решениями:
33
Интернет работает, но Chrome и IE не открывают сайты. Firefox работает, но плохо Всего одна из страниц сайта плохо работает в IE и Мозилле (абра-кадабра).В Опере все работает.
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||
| 15.05.2019, 14:20 | ||||
|
Добавлено через 2 минуты Добавлено через 15 минут
0
|
||||
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
| 15.05.2019, 17:41 [ТС] | |
|
Сделал отдельно клиента и сервера ,все работает. Ничего не понимаю
0
|
|
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
| 15.05.2019, 17:57 [ТС] | |
|
Хотя нет, Ломается. oleg-m1973, если не сложно не могли бы попробовать у себя. У меня даже на локальном компьютере, если стоит сервер и клиент, то не так работает.
0
|
|
|
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
|
|
| 15.05.2019, 18:23 | |
|
Sierra26, попробую еще раз повторить: внимательно разберись в размером передаваемой структуры - размер в цикле у тебя вычитается и в итоге у тебя в сенде просто идет 0.
0
|
|
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
| 15.05.2019, 19:16 [ТС] | |
|
Вованя, где он вычитается. Ничего не понял. Можете показать участок кода
0
|
|
|
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
|
|
| 15.05.2019, 20:27 | |
|
Sierra26, в функции Send()
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 15.05.2019, 21:32 | ||
|
1
|
||
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
| 16.05.2019, 11:26 [ТС] | |
|
Проблема все таки в клиенте. И у меня возник вопрос? В каких случаях разблокируется функция recv. Мое мнение было, что когда придут данные >= указанных в 3 параметре функции recv, но оно оказалась ошибочным!
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 16.05.2019, 11:27 | |
|
0
|
|
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
| 16.05.2019, 11:29 [ТС] | |
|
вот что вычитал: "Дело в том, что recv гарантирует лишь то,
что в случае успеха будет прочитано от 1 до sizeof(buffer) байт. В данном случае размер буфера для recv - 4 байта, но прочесть она может за один вызов и три байта, и два, и один. Так что начать нужно с этого." Кстати говоря, это вообще наитипичнейшая ошибка всех, кто учит работу в сетях." Ссылка на форум Функция recv не разблокируется после отправки сообщения в канал
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 16.05.2019, 11:38 | ||
|
В цикле: делаешь select/poll/WSaPoll на таймаут ~100ms, если данных нет - снова если данные пришли, запрашиваешь размер ::ioctlsocket(sock, FIONREAD, &dwRead) если dwRead == 0 , то сервер разорвал коннект, можно закрывать сокет делаешь n = recv(....., dwRead), усли n < dwRead - коннект разорван...
0
|
||
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
||||||
| 16.05.2019, 11:50 [ТС] | ||||||
|
да проблема оказалась в том ,что recv гарантирует лишь то, что в случае успеха будет прочитано от 1 до sizeof(buffer) байт. Решил проблему написание вот такой функции. Может быть кому-нибудь пригодится:
0
|
||||||
|
7 / 7 / 3
Регистрация: 04.06.2015
Сообщений: 189
|
|
| 16.05.2019, 13:00 [ТС] | |
|
else
* * * * * * int k = 6; Это для отладки. int nByte = recv(s, &buf[nSumByte], len - nSumByte, flags); flags сюда надо
0
|
|
| 16.05.2019, 13:00 | |
|
Не работает или плохо работает озу ! Плохо работает Wi Fi Плохо работает роутер Плохо работает include! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|