Я пытаюсь отправить посылку через сокет на андроид приложение. Клиент находится в libbinder (c ++), а сервер — это приложение для Android, которое должно будет восстановить участок. Некоторое время я искал решение, но не знаю, как сериализовать посылку, а затем пересобрать ее на стороне сервера. Любые идеи о том, как это можно сделать?
Спасибо
Часть кода, где я обрабатываю данные
клиент
Parcel parc = Parcel();
double three = 5.5;
parc.writeDouble(three);
unsigned char b[sizeof(parc)];
std::memcpy(b, &parc, sizeof(parc));
Тогда я отправляю вот так
send(client, b, sizeof(b), 0);
сервер
private int count
private InputStream in = null;
try {
in = socket.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
try {
count = in.read(bytes);
}catch (IOException e) {
e.printStackTrace();
}
Parcel parcel = Parcel.obtain();
parcel.unmarshall(bytes, 0, bytes.length);
parcel.setDataPosition(0);
double d = parcel.readDouble();
Log.v("----double---", "double" + d);
Хороший пример можно найти Вот.
В общем, вам нужно убедиться, что у вас есть доступные классы для восстановления (создания из участка) объектов.
Других решений пока нет …