Android:使用 ***Service API 在 Android 4.0 中连接到 *** 的示例代码 [关闭]
Posted
技术标签:
【中文标题】Android:使用 ***Service API 在 Android 4.0 中连接到 *** 的示例代码 [关闭]【英文标题】:Android: Sample Code to connect to *** in Android 4.0 using ***Service API [closed] 【发布时间】:2012-10-22 01:36:10 【问题描述】:我是 android 新手,我正在尝试建立并连接到我们自己的 ***
(不是默认的 ***
提供程序,即 PPTP
、L2TP
等,它存在于 Android Setting -> Wireless and Networks
中)以编程方式。
我的情况是,我有按钮,当我点击按钮时,我需要配置我自己的 ***
,并且一个链接(比如 www.google.com)应该通过我配置的 ***
。
有示例代码吗?
【问题讨论】:
【参考方案1】:您可以参考与您的 android SDK 捆绑在一起的示例应用程序 Toy***。因此,只需查看示例并参考该应用程序。另请参阅this
除此之外,您还可以下载 Open*** 的源代码。这是该链接的链接
https://github.com/kghost/ics-open***
谢谢
【讨论】:
感谢您的回复。我很困惑 open*** 是否是一个 android 项目。我下载了open***源,但t只有c文件,我不知道如何使用t..你能解决我的疑问..提前谢谢 如果你能分享一个使用 ***Services 和 Open*** 的 android 项目将会很有帮助。这将帮助我理解和处理它。 我六月编译了代码并在我的 android 设备中运行它。应用程序启动良好,但我不知道如何测试应用程序。是否有任何公共测试服务器和凭证来测试这个应用程序。你能分享链接吗.. 我搜索了但我找不到任何有用的东西 请不要将 open*** 的链接更改为另一个版本的 open*** for android,该版本已不再维护。该软件的作者和我大约在同一时间发布了我们的软件。 我只是说github.com/kghost/ics-open*** 和code.google.com/p/ics-open*** 是不同的项目。后者是我的项目。【参考方案2】:OpenSwan 解决方案: https://wiki.strongswan.org/projects/strongswan/wiki/Android***Client
Open*** 解决方案: https://code.google.com/p/ics-open***/
这两个都需要 Android SDK 和 NDK。
【讨论】:
【参考方案3】:我不知道为什么我用谷歌搜索了一千次,但没有github 的搜索。找了好久,终于找到一篇写的漂亮了。代码真的很漂亮,很少见:
https://github.com/hexene/Local***
该项目不使用 NDK 或任何本机代码,纯 java,这使它成为一个简单项目的完美开始(并不是说它不适合复杂项目)。而且工作流程非常简单:
当应用发出出站请求(从安卓操作系统到互联网上的某个服务器的请求)时,请求到达Local***Service.class
在Local***Service
,对 TCP/UDP 数据包进行调查,并提取源 IP 和目标 IP(Packet.class
用于此目的)。
Local***Service
代表应用程序启动请求建立连接,并在新创建的连接上调用***Service.protect()
以避免循环。
然后将连接传递给处理程序,处理程序只需将字节从 / 传递到循环中的两个连接。 UDP/TCP In/Out 的线程在不同的工作类和线程中进行管理。
如您所见,己烯已经完成了所有艰苦的工作和繁重的工作。
上面引用的所有类都可以在项目目录中找到。 我从 github 快速查看了源代码,这里讨论的工作流程可能不准确。
【讨论】:
这是否意味着您需要在互联网上使用真正的 *** 服务器?如果我理解正确是因为 android 提供了隧道,那么 local*** 会看到所有流量吗?如果我想简单地解析传入的 tcp 连接怎么办? @narb 如果我没记错的话,不,你不需要***服务器,我也用它来解析数据包。当数据包到达时,它们只是被发送到目的地。 差不多一年前 :) 感谢您的回答。我将尝试使用 load*** 代码,但必须使用 *** api 来解析包是很奇怪的。有一个像 api 这样的 pcap 会更好。 它也支持open***吗? @AhmadShahwaiz 它不支持任何东西。它只是为安卓 *** 的界面提供了一个更好、更简单的 java-ish 界面。你最终得到的是一些原始的字节包。您可以做任何您喜欢的事情,例如将它们发送到 Open***(在实现 Open*** 的接口之后)以上是关于Android:使用 ***Service API 在 Android 4.0 中连接到 *** 的示例代码 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
将 pptp *** 与 android ***service 连接
Android L Youtube API - IllegalArgumentException: Service Intent must be explicit