Мне нужно передать Uint8List
массиву byte[]
в java через TCPSocket. Существует несоответствие размера на обоих концах. PS: я новичок в дартс.
Я пробовал socket.add(buf)
, socket.write(buf)
, socket.writeAll(buf)
, но ни один из них не работал
Код на стороне флаттера (TCP-клиент)
void readVoiceData(Uint8List buf) {
print("Send data size:"+buf.lengthInBytes.toString());
socket.add(buf);
}
ВЫХОД: Отправьте данные размером: 1280
Фрагмент кода на стороне Java (сервер TCP)
in = new DataInputStream(clientSocket.getInputStream());
Log.d(TAG, "****Opened InputStream*******");
while (!isInterrupted()) {
if (mTrack != null) {
try {
in.read(bytes);
Log.d(TAG, "Received data size"+bytes.length);
}
}
ВЫХОД: Размер полученных данных: 1
Я уверен, что сокетное соединение установлено правильно, так как я могу без проблем передавать строки и целые числа.