Приветствую, проблема с recv. Принимает сообщения слитно в чем ошибка, как исправить? Если заранее определить как здесь, все корректно отправляется Хочется ставить \n после каждого принятия, но тогда он принимает каждое слово которое было введено через пробел, на новую строку
//Send
char buff[512] = "Helloy client\n";
int sen = send(AcceptSocket, buff, strlen(buff), 0);
while(1)
{
int rec = recv(AcceptSocket, buff, sizeof(buff), 0);
printf("%s", buff);
scanf("%s",&buff);
send(AcceptSocket, buff,sizeof(buff), 0);
};
Привет друг! //Отсылаем данные
Приветдруг! // Такие данные придут клиенту или же если отправлены наоборот
Аналогично и с Клиентом
Для начала - хоть это и не к вашему вопросу - передавайте и нулевой символ -
int sen = send(AcceptSocket, buff, strlen(buff) +1, 0);
^^^
или потом его дописывайте..
А у вас проблема в том, что scanf("%s",&buff);
читает одно слово, а не строку целиком. Используйте, например, fgets
:
fgets(buff,sizeof(buff),stdin);
Попробуйте после recv(AcceptSocket, buff, sizeof(buff), 0);
объявить string ResponseBuffer(buff);
и используйте дальше ResponseBuffer со всеми фичами string. У меня при такой практике проблем не возникало.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть число 2098216Надо найти количество трехзначных чисел, которые можно создать из цифр этого числа, т
ЗдравствуйтеНе могу понять, почему не импортируется таблица в phpmyadmin