Я сейчас работаю с асинхронными сокетами. У меня есть функция обратного вызова «onDataReceived», которая запускается всякий раз, когда я получаю какие-либо данные.
Сначала я получал один символ за раз, поэтому я изменил буфер данных socketPacket на большой массив. Теперь, когда я получаю данные, я получаю их все сразу, но когда я пытаюсь отправить файл большего размера, он не работает, когда он превышает размер массива.
Мой вопрос такой. У меня многопоточный сокет-сервер. Как я могу определить, когда все данные получены? например, мне нужно отправить изображение, я кодирую изображение в base64 и создаю команду "BASE64IMAGE", а затем сервер читает строку, пока она не достигнет END_OF_DATA? Есть ли лучший способ сделать это? спасибо!