Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 05.06.2016, 12:20   #1
_Сергей_)
Новичок
 
Регистрация: 29.04.2016
Сообщений: 1
Репутация: 10
По умолчанию Клиент принимает неизвестные данные функцией RECV

Прошёлся отладчиком по клиенту. Выяснил, что клиент принимает пустую строку, хотя сервером эти данные не отправляются.
P.s. Последняя строка в клиенте. Она показывает пустую строку


Клиент:
void Transport_system::add_transport_sys tem()
{
char buf[5];
system("cls");
set_name();
set_amount_of_centers();
set_matrix();
name[strlen(name)] = '\0';
send(socket, name, strlen(name) + 1, 0);
do
recv(socket, buf, sizeof(buf), 0);//принимаем данные, что такого файла не существует
while (!(buf[0] == '1' || buf[0] == '0'));
if (atoi(buf) == 1)//если не существует
{
int N = atoi(amountOfCenters);
string matrix_string[100][100];
char buf2[10];
for (int i = 0; i < atoi(amountOfCenters); i++)
for (int j = 0; j < atoi(amountOfCenters); j++)
{
_itoa_s(matrix[i][j], buf2, 10, 10);//отправляем матрицу
matrix_string[i][j] = string(buf2);
}
amountOfCenters[strlen(amountOfCenters)] + '\0';
send(socket, amountOfCenters, strlen(amountOfCenters) + 1, 0);//отправляем количество лог-центров
for (int i = 0; i < atoi(amountOfCenters); i++)
for (int j = 0; j < atoi(amountOfCenters); j++)
send(socket, matrix_string[i][j].c_str(), matrix_string[i][j].size(), 0);
recv(socket, buf2, strlen(buf2), 0);//принимаем что всё ОК
if (atoi(buf2) == 1)
cout << "\n\tДанные успешно занесены";
else
cout << "Ошибка записи данных";
}
if (atoi(buf) == 0)//если существует
cout << "Такая транспортная сеть уже существует\n";
_getch();
fflush(stdin);
fflush(stdout);
fflush(stderr);
recv(socket, buf, strlen(buf), 0); //здесь принимает неизвестно что
}

Сервер:


void Transport_system::add_transport_sys tem()
{
char buf[30];
int value = 0;
recv(s, buf, strlen(buf), 0); //1
strcpy_s(name, strlen(buf) + 1, buf);
strcpy_s(file_name, strlen(name) + 1, name);
strcat_s(file_name, 34, ".txt");
if (_access(file_name, 0)!=-1)
{
send_number(0);
throw ("Транспортная сеть существует");
}
else
{
send_number(1);
recv(s, buf, strlen(buf) + 1, 0); //принимаем размер матрицы
value = atoi(buf);//кол-во центров
for (int i = 0; i < value; i++)
for (int j = 0; j < value; j++)
capacity[i][j] = recv_number();
}
ofstream f(file_name, ios_base::app);
f << value << "\n";
for (int i = 0; i < value; i++)
{
for (int j = 0; j < value; j++)
f << capacity[i][j] << " ";
f << "\n";
}
f.close();
send(s, "1\0", 2, 0);
}
_Сергей_) вне форума   Ответить с цитированием
Старый 05.06.2016, 16:22   #2
min@y™
Цифровой кот
Профессионал
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщений: 6,858
Репутация: 1965

icq: 100500
skype: kick-ass
По умолчанию

рукалицо
__________________
Чтобы правильно заниматься всякой фигнёй на работе (и дома тоже),
нужно долго и кропотливо учиться!
min@y™ вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сервер принимает пакеты если клиент указывает неверный порт получателя UDP Yandex&Google C/C++ Сетевое программирование 0 12.02.2016 01:03
tcp. клиент сервер. проблема с recv. xquant1x C/C++ Сетевое программирование 1 14.09.2014 23:56
Не принимает данные(soket) WebbMan C/C++ Сетевое программирование 0 02.02.2012 19:35
сервер-клиент, recv-send и проблема с передаваемыми символами. Ksardas13 Общие вопросы C/C++ 9 27.03.2011 20:49
Клиент файл принимает но не сохраняет D_E_N Работа с сетью в Delphi 11 06.08.2009 18:30




01:45.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru