Я использую GCDAsyncSocket
для создания TCP-клиента на iOS (используя swift). Клиент взаимодействует с TCP-сервером, написанным на JAVA. Данные записываются в сокет с помощью метода JAVA writeUtf()
. Итак, чтобы прочитать данные на TCP-клиенте, мне нужно знать длину данных, доступных в сокете. Формат java UTF отличается от стандартного UTF и кодирует длину содержимого в первых 2 байтах данных. Длина входящих данных должна быть известна для чтения данных в GCDAsyncSocket.
Вопросы:
Как получить размер входящих данных из первых двух байт модифицированного UTF-8 в swift?
Есть ли лучший способ прочитать данные из java writeUTF(), обнаружив конец потока?
java.io.DataInputStream.readUTF()
. - person teppic   schedule 27.09.2017\000
кодируется как\700\600
. - person Johannes Kuhn   schedule 26.04.2020