Android NDK 如何将收到的 DatagramPacket 作为参数传递给 C 函数?

标签 android c++ c sockets android-ndk

我在我的 android 应用程序中从 C 程序接收 DatagramPacket。我需要使用 NDK 来解析数据。我想将接收到的数据包传递给 native 方法进行解析。有人能告诉我一种将接收到的数据包传递给 C 函数的方法吗?

 DatagramPacket packet = new DatagramPacket(buf, buf.length);
 socket.receive(packet);
 System.out.println(packet.getLength());

现在我需要将接收到的数据包传递给 C 函数进行解析。

最佳答案

buf(假设它是一个 byte[])和 packet.getLength() 的值传递给 JNI 函数。在其中,使用字节数组函数 - e。 G。 JNIEnv::GetByteArrayRegion() 获取实际字节数。

关于Android NDK 如何将收到的 DatagramPacket 作为参数传递给 C 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36180968/

相关文章:

java - 我们可以从 onOptionsItemSelected() click 中获取 Layout 中定义的按钮的 onClickListener 功能吗

java - Retrofit2 状态码为 200 但 json 结构不同于数据模型类时的处理条件

android - 如何在一个 Firebase 项目中使用两种不同的语言?

android - 如何使用 Web 服务连接到远程数据库?

c++ - 如果编译后的源代码特定于编译时所使用的硬件,我们该如何分发?

c++ - 像 Qt 中的 Simulink 一样的信号流拖放

c - 适用于 NetBeans 和 Windows 的最常用 C/C++ 编译器

c++ - 线程安全和 std::move

c - 在 OpenCV 中获取窗口的大小

c++ - 线程池应该如何在C中实现?