|
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 19
|
|
Функция recv принимает неизвестные данные05.06.2016, 10:55. Показов 2036. Ответов 13
Метки нет (Все метки)
Проконтролировал отладчиком программу. Выяснил что клиент получает пустую строку т.е. (""), хотя на сервере никакой отправки не происходило. Как это исправить? P.s.Вся программа из-за этого не летит.
0
|
|
| 05.06.2016, 10:55 | |
|
Ответы с готовыми решениями:
13
Функция recv Функция recv()
|
|
47 / 21 / 11
Регистрация: 01.11.2013
Сообщений: 255
|
|
| 05.06.2016, 10:58 | |
|
1sergei, Можно увидеть код?
0
|
|
|
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 19
|
|||||||||||
| 05.06.2016, 11:02 [ТС] | |||||||||||
|
Функция Клиент:
Функция сервер
0
|
|||||||||||
|
47 / 21 / 11
Регистрация: 01.11.2013
Сообщений: 255
|
||||
| 05.06.2016, 11:39 | ||||
|
Не по теме: Сейчас глянем Добавлено через 32 минуты Вот вы от сервера отправили подтверждение о том, что данные внесены в файл. Я не совсем понимаю, что вы пытаетесь сделать этим, когда пытаетесь принять данные которые не отправляли.
0
|
||||
|
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 19
|
|
| 05.06.2016, 11:41 [ТС] | |
|
Я вас понял. в последней строке, я забыл поставить комментарий. Там клиент как раз-таки принимает строку, хотя не должен. Я не могу понять почему это происходит.
0
|
|
|
47 / 21 / 11
Регистрация: 01.11.2013
Сообщений: 255
|
|
| 05.06.2016, 11:43 | |
|
1sergei, Можно объяснить мне зачем принимать данные которые никто не записывал с сокет?
0
|
|
|
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 19
|
|
| 05.06.2016, 11:51 [ТС] | |
|
у меня дальше идёт выход из функции и принимаются данные. So, происходит сдвиг send/recv и программа летит из-за того, что якобы клиент принял пустую строку, кот. сервер не передавал.
0
|
|
|
47 / 21 / 11
Регистрация: 01.11.2013
Сообщений: 255
|
|
| 05.06.2016, 11:56 | |
|
1sergei, Так клиент и должен принять пустую строку, потому что данные, которые вы пытаетесь получить не были записаны в сокет.
0
|
|
|
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 19
|
|
| 05.06.2016, 12:08 [ТС] | |
|
можно поподробнее пожалуйста. Я не совсем понимаю о чём идёт речь. Программирую на сокетах редко. Как мне это исправить?
0
|
|
|
47 / 21 / 11
Регистрация: 01.11.2013
Сообщений: 255
|
|
| 05.06.2016, 12:49 | |
|
1sergei, Я совсем не понимаю, что вы хотите сделать когда принимаете данные в конце. И можно уж тогда весь код.
Добавлено через 42 секунды Каков результат вы ожидаете в конце, когда принимаете пустые данные?
0
|
|
|
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 19
|
|
| 05.06.2016, 12:55 [ТС] | |
|
макс, ты совершенно прав, что я принимаю эту строку. Я это делаю, чтобы просто очистить поток, т.к. эта принятая пустая строка, в случае если я это её не считаю, потом считывается в ненужном мне месте и происходит сбой программы. Что касается кода, то это Курсач. Я не думаю, что тебе будет приятно лезть в эти дебри.
Я сформулирую вопрос конкретней: ПОЧЕМУ КЛИЕНТ ПОЛУЧАЕТ ПУСТУЮ СТРОКУ ОТ СЕРВЕРА, ЕСЛИ СЕРВЕР ЕЁ НЕ ПЕРЕДАВАЛ. Есть ли у тебя какие-нибудь предположения?
0
|
|
|
47 / 21 / 11
Регистрация: 01.11.2013
Сообщений: 255
|
|
| 05.06.2016, 13:34 | |
|
1sergei, Покажи код полностью.
Добавлено через 1 минуту Если ты в recv 4 аргумент равен нулю, то после принятия строка очищается. Добавлено через 6 минут 1sergei, Еще может быть причиной то, что передаваемые данные просто не влезают в массив.
0
|
|
|
0 / 0 / 0
Регистрация: 15.11.2014
Сообщений: 19
|
|
| 05.06.2016, 14:17 [ТС] | |
|
https://www.dropbox.com/s/rf2y... 0.rar?dl=0
admin: login-q, password-q user: login-w, password-w Смотри файл transpotr_system.cpp -> add_transport_system() Вызывается из файла User.cpp ->menu_admin() код, описанный выше немного преобразован, прошлая версия в коментариях
0
|
|
|
47 / 21 / 11
Регистрация: 01.11.2013
Сообщений: 255
|
||||||||||||||||
| 05.06.2016, 16:23 | ||||||||||||||||
|
Сервер
0
|
||||||||||||||||
| 05.06.2016, 16:23 | |
|
Помогаю со студенческими работами здесь
14
Как функция recv() читает UDP-пакеты? Неизвестные учетные данные Функция recv не разблокируется после отправки сообщения в канал recv winsock, или как получить данные Почему экзешник make.exe (вернее, его разновидность mingw32-make.exe) принимает неизвестные параметры? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|