Как отправлять сообщения большей длины, чем в буфере при программировании сокетов?

Я занимаюсь разработкой приложения с использованием Winsock на C ++. У меня есть 200-байтовый массив символов для отправки строк через сокет.

Моя проблема заключается в отправке сообщений, которые больше, чем массив char, поэтому я решил отправить их несколькими порциями, но я понятия не имею, как это сделать.

Для отправки и получения данных я использую обычнуюsend() а такжеrecv() функции:

recv(client, buffer, 200, NULL);
send(client, buffer, 200, NULL);

Обновить

У меня есть структура:

struct Pack
{
    unsigned int senderId;
    char str[200];
}

перед отправкой я конвертируюstruct к массиву символов

Pack pk;
strcpy_s(pk.str, 200, "Some text to send.\0");
pk.senderId = 1 // user id
char *buffer = (char*)pk;

Если размер строки больше 200, strcpy_s () вылетает.

Ответы на вопрос(4)

Ваш ответ на вопрос