Я тестирую свой эхо-сервер TCP, с помощью Telnet я вижу, что клиент подключается к серверу и отправляет символ, а взамен сервер возвращает строку клиенту.
Теперь моя проблема заключается в том, что при использовании этого recv () в бесконечном цикле я могу получить только один символ (даже если клиент имеет тенденцию отправлять строку).
Вот как я делаю, чтобы получить дейтаграмму от клиента
TCP-СЕРВЕР
while(1)
{
socket = accept(server_socket, (struct sockaddr *)&client_address, (socklen_t)&client_length);
recv(socket, recv_buffer, sizeof(recv_buffer), 0);
printf("Received string from client is %s", recv_buffer);
/*then I send my string to the client*/
send(socket, send_buffer, sizeof(send_buffer), 0);
}
Вот моя проблема в том, что моя подпрограмма recv () читает только один символ, даже если клиент хочет отправить целую строку. Есть ли способ, как заставить эту подпрограмму recv () ждать, пока она не получит все символы от клиента, а затем отправить ответ клиенту.
Буду признателен за любые предложения
Привет