java - 通过 socket 包裹

标签 java android c++ sockets parcel

我正在尝试通过套接字将包裹发送到 Android 应用程序。客户端在 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);

最佳答案

可以找到一个很好的例子here .

通常,您需要确保您拥有可用于重建(从包裹创建)对象的类。

关于java - 通过 socket 包裹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41067488/

相关文章:

java - 使用ModelDrivernInterceptor后,如何访问结果JSP页面中的Action属性?

java - 在 GWT 应用程序中处理授权

java - 为什么在java中多重继承是不可能的

java - 微调器显示黑色

c++ - 在 C++ 中打开用于读取的文件

c++ - 根据持续时间C++对连续元素进行排序

java - 在 TextView 上打印数组值(android)

android - 为什么我的标题会干扰我的超链接?

android - 保持 Android Studio 的特定依赖项顺序

c++ - distcc 中的链接阶段