Я работаю с WebSockets. Я создал небольшой тестовый клиент, который разбивает сообщение и затем отправляет его по частям. Например, сообщение типа:
PROTOCOL HTTP ACTION UPDATE
может быть отправлено как
PROTOC
как один кусок, а затем
OL HTT
как другой, в отличие от отправки полного сообщения в одном фрагменте как PROTOCOL HTTP ACTION UPDATE
, что также возможно.
Таким образом, способ, которым я получаю сообщение, должен отражать это. В настоящее время я не уверен, как использовать recv
, когда одно сообщение будет разбито на несколько частей и отправлено по нему.
Это то, что я пытаюсь, но я не уверен, что это правильный путь. Должен ли я всегда сохранять размер буфера равным 200 при получении? Когда я должен выйти из l oop?
void recv_all(){
char rec_buffer[200]
while(1) {
ssize_t bytes_rec = recv(socket_fd, rec_buffer, sizeof(rec_buffer),0);
}
}