Tôi đang cố gắng gửi gói tới ứng dụng Android qua socket. Máy khách nằm trong libbinder(c++) và máy chủ là một ứng dụng Android phải được gói lại. Tôi đã tìm kiếm giải pháp được một thời gian nhưng tôi không biết cách tuần tự hóa gói và sau đó xây dựng lại gói đó ở phía máy chủ. Có ý tưởng nào về cách thực hiện việc này không?
Cảm ơn
Phần mã của tôi xử lý dữ liệu
客户端
Bưu kiện = Bưu kiện();
gấp ba = 5,5;
parc.writeDouble(ba);
ký tự không dấu b[sizeof(parc)];
std::memcpy(b, &parc, sizeof(parc));
Sau đó tôi gửi nó như thế này
send(client, b, sizeof(b), 0);
服务器
số int riêng tư
luồng đầu vào riêng tư in = null;
thử {
in = socket.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
thử {
đếm = in.read(byte);
}bắt (IOException e) {
e.printStackTrace();
}
Bưu kiện = Parcel.obtain();
bưu kiện.unmarshall(byte, 0, bytes.length);
bưu kiện.setDataPosition(0);
double d = bưu kiện.readDouble();
Log.v("----double---", "double" + d);
Một ví dụ điển hình có thể được tìm thấyđây .
Nói chung, bạn cần đảm bảo rằng bạn có một lớp có thể được sử dụng để xây dựng lại (tạo từ gói) đối tượng.
Tôi là một lập trình viên xuất sắc, rất giỏi!