Я работаю над проектом, в котором я настроил сервер и клиент, и сервер отправляет изображение веб-камеры клиенту через TCPIP (для прямой трансляции на клиенте).
В целях тестирования,Я использую и клиент, и сервер на одном компьютере.
На стороне сервера, используя qcamera, я получаю изображение с веб-камеры, преобразовываю его в QByteArray и отправляю его клиенту.
ОднакоЯ заметил, что при отправке данных изображения клиент не может получить данные с одной попытки.Например, если сервер отправляет QByteArray длиной 15000, клиент получает данные длиной 10000, 3000 и 2000, что в сумме составляет 15000. (Я использую сигнал readyRead () и функцию socket-> readAll ())
Таким образом, для потоковой передачи изображения веб-камеры на клиенте мне нужен способ парсинга изображения одной камеры с другой.Я пытался добавить терминатор, такой как ';', в конце QByteArray, но кажется, что мой массив изображений веб-камеры содержит ';', '?', '*' И т. Д., Поэтому я не могу использоватьони как терминатор.
Есть ли какое-нибудь решение этой проблемы?