ПРОБЛЕМА: Recv() - обработка данных с нескольких серверов. (C++11, сокеты, Windows, g++)C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 ПРОБЛЕМА: Recv() - обработка данных с нескольких серверов. (C++11, сокеты, Windows, g++)

Сообщение Гость »

В качестве простого проекта для понимания программирования сокетов и многопоточности на C++ я создал 2 сервера и один клиент. Цель состоит в том, чтобы клиент параллельно считывал данные с обоих серверов.
Оба сервера выглядят одинаково, имеют одинаковый IP-адрес (127.0.01), но разные номера портов ( 8000 и 4000). Они оба считывают данные из файла csv и отправляют их в цикле следующим образом:

Код: Выделить всё

std::ifstream _file_stream;

_file_stream.open("data.csv", std::ifstream::in);

char[512] _send_buffer;

int _send_buffer_size = 512;

while(!_file_stream.eof())

{

std::string line;

_file_stream>>line;

strcpy(_send_buffer,line.c_str());

int send_return = send(s, _send_buffer, _send_buffer_size, 0);

}
Вот что происходит на стороне клиента:
  • Если я запускаю цикл, содержащий две функции Recv() на двух серверах все нормально и все данные получены:

Код: Выделить всё

int recv_return_server1 = recv(_client_socket_server1, recv_buffer_server1, recv_buffer_server1_size, 0);
int recv_return_server2 = recv(_client_socket_server2, recv_buffer_server2, recv_buffer_server2_size, 0);
std::cout

Подробнее здесь: [url]https://stackoverflow.com/questions/78106173/issue-recv-ing-data-from-multiple-servers-c11-sockets-windows-g[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ActiveMQ Artemis: обработка отказа клиента для независимых серверов без встроенного протокола переключения при отказе от
    Anonymous » » в форуме JAVA
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Настройка веб -сервера в Playwright - проблемы с запуском тестов и запуска нескольких серверов
    Anonymous » » в форуме Javascript
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Recv не работает в потоке — Windows C++
    Anonymous » » в форуме C++
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Сокеты Windows – поведение при переполнении буфера [закрыто]
    Гость » » в форуме C++
    0 Ответы
    51 Просмотры
    Последнее сообщение Гость
  • Сокеты C++ для Windows и Linux на выбор [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»