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

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

Восстановить пароль Регистрация
 
HoseMose
1 / 1 / 0
Регистрация: 27.08.2013
Сообщений: 81
26.09.2013, 19:36     Обработка функции recv структуры SOCKET #1
Прошу помощи как обработать полученную информацию из функции 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++ Корректный ввод структуры и ее обработка
Структуры! Обработка внутри структуры C++
C++ Обработка ошибок неправильного заполнения структуры tm?
C++ как избавится от остановки программы из-за функции recv() ?
C++ Оператор if и структуры. Возвращение структуры из функции
Сокеты: после вызова send программа зависает на функции recv C++
Структуры. Обработка данных, введенных с клавиатуры C++
Обработка данных структуры NOTE C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14181 / 6196 / 984
Регистрация: 02.05.2013
Сообщений: 10,317
Завершенные тесты: 1
26.09.2013, 19:45     Обработка функции recv структуры SOCKET #2
recv может вернуть байт меньше, чем было отправлено.
Поэтому ее нужно вызывать в цикле, пока все нужные данные
не будут получены, или пока соединение не будет закрыто.

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

Цитата Сообщение от HoseMose Посмотреть сообщение
retVal = recv(clientSock, mas, mas, 0);
Второй параметр - это указатель на принимаемый буфер.
Третий - его длина в байтах. "mas, mas" - это точно неправильно.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.09.2013, 19:45     Обработка функции recv структуры SOCKET #3
mas и mass.
Yandex
Объявления
26.09.2013, 19:45     Обработка функции recv структуры SOCKET
Ответ Создать тему
Опции темы

Текущее время: 21:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru