如何在Android中使用SCTP协议?

我已经知道Android系统默认不支持SCTP,但是可以通过插入SCTP内核模块来启用它,或者在模块配置中使用SCTP重建内核。

我需要对这个问题有所了解。 可能吗? 如何让android支持协议? 如何构建内核模块并正确插入? 如果我们能够成功地使系统支持它,我们如何使用该协议? android上的Java API是否支持SCTP?

===============>>#1 票数:8 已采纳

使用模块来实现它是正确的方法。 回答你的问题:

  • SCTP已作为Linux源代码树中的内核模块提供 - “CONFIG_IP_SCTP = m”将启用该模块。 你可以将它改为“y”到硬链接,虽然这可能是不可行的,因为你必须为此重建整个内核。

  • 该模块仍然必须按照内核版本构建。 所以基本上每个供应商,你需要获得他们的内核源代码(可行),然后针对它编译你的模块。

使用:在用户模式下 - 通过调用s = socket(AF_INET [6],SOCK_STREAM,IPPROTO_SCTP)创建套接字; 从那时起,套接字API工作完全相同,但有一些例外(即setsockopt,这是协议类型特有的)。

从Java - 事实上确实支持最新版本的协议(JDK7,作为里程碑3),但Java支持它并不意味着Dalvik(Android的“java vm”)。 虽然Android确实有“准备好”的SCTP支持,但它还没有在Dalvik(至少不是4.2)。 但是,您可以创建一个Java类,就像在包中一样,它将使用SCTP调用包装本机库。 由于.NET权限,它在Android中有点棘手,但仍然可以管理(来自经验)。

  ask by Meti translate from so

未解决问题?本站智能推荐: