Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
HoseMose
1 / 1 / 0
Регистрация: 27.08.2013
Сообщений: 101
#1

Обработка функции recv структуры SOCKET - C++

26.09.2013, 19:36. Просмотров 465. Ответов 2
Метки нет (Все метки)

Прошу помощи как обработать полученную информацию из функции recv структуры SOCKET.
к примеру:
C++ (Qt)
1
2
3
4
char buf[20]="GooD";char mass[20];
 retVal = recv(clientSock, mas, mas, 0);
if(strcmp(buf,mas)!=0){cout<<"Не равны"<<endl;}
else {cout<<"Равны"<<endl;}//Но сравнение не происходит , всегда "Не равны" ,в чем ошибка ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2013, 19:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка функции recv структуры SOCKET (C++):

Как избавиться от остановки программы из-за функции recv()? - C++
Я пишу чат на WinSock. Суть его проста - существует цикл, в котором идет такая последовательность действий: 1. Если нажат Enter, то...

Сокеты: после вызова send программа зависает на функции recv - C++
Извеняюсь за такое назание темы, но уже перепробовал 100 вариантов и постоянно выкидывает данное предупреждение, уже и не знаю что блин...

Оператор if и структуры. Возвращение структуры из функции - C++
Здравствуйте, имеется такая вот функция. void InputStructEmployee (int StructSize) { StructEmployee UsrStruct; string...

Обработка структуры через функцию - C++
подскажите пожулуйста как реализовать обработку структуры через функцию. Нужно написать функцию поиска ( и вывода на экран ) параметра...

Обработка данных структуры Student - C++
Описать структуру с именем STUDENT, содержащую следующие поля: -фамилия и инициалы; -номер группы; -успеваемость (массив из пяти...

Корректный ввод структуры и ее обработка - C++
Добрый день. Есть вопрос, как мне правильно ввести структуру, что бы потом корректно с ней работать. Задание:Нужно составить...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Убежденный
Системный программист
Эксперт С++
15511 / 7009 / 1108
Регистрация: 02.05.2013
Сообщений: 11,441
Завершенные тесты: 1
26.09.2013, 19:45 #2
recv может вернуть байт меньше, чем было отправлено.
Поэтому ее нужно вызывать в цикле, пока все нужные данные
не будут получены, или пока соединение не будет закрыто.

Цитата Сообщение от HoseMose Посмотреть сообщение
Но сравнение не происходит , всегда "Не равны" ,в чем ошибка ?
Может, завершающий ноль отсутствует в строке, которую вычитывает recv.

Цитата Сообщение от HoseMose Посмотреть сообщение
retVal = recv(clientSock, mas, mas, 0);
Второй параметр - это указатель на принимаемый буфер.
Третий - его длина в байтах. "mas, mas" - это точно неправильно.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.09.2013, 19:45 #3
mas и mass.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2013, 19:45
Привет! Вот еще темы с ответами:

Обработка данных структуры NOTE - C++
4.. Дана структура с именем NOTE, состоящая из полей:  фамилия, имя;  номер телефона;  дата рождения (массив из трех чисел). Написать...

Обработка ошибок неправильного заполнения структуры tm? - C++
Это простой вопрос. Допустим такой код: void main(){ int day=31, mon=5,year=82; time_t seconds = time(NULL); tm* timeinfo =...

Обработка данных содержащих структуры ORDER - C++
Реализовать программу в соответствии, используя заданную структуру данных. Сформировать соответствующие функции для обработки этих данных. ...

Обработка данных содержащих структуры NOTE - C++
Написать программу (создать меню), выполняющую следующие действия: - ввод с клавиатуры данных в массив, состоящий из восьми элементов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru