java – 如何在Android中使用VPN?

我正在探索Android中的VPN连接.我是本节的新手.

>我想知道如何使用应用程序在Android中设置VPN连接?
>我遇到了一个示例代码,即ToyVpn.I运行应用程序,但我不知道我需要以该应用程序显示的形式给出什么数据,考虑iam有一个带有IP地址的VPN服务器(比如10.162.1.2),做什么我需要在该应用程序中使该应用程序工作?
>如果我尝试使用任何公共VPN服务器,我需要做什么?
>我从here下载了Openvpn源代码,我在ICS设备中编译并运行,但我不知道如何配置需要输入的数据.请提供使用此应用程序的确切方法.

解决方法:

I want to know how to setup a VPN connection in Android using an application?

Android SDK捆绑了一个示例;请参阅android-16示例目录中的ToyVpn.另请参阅VpnServiceVpnService.Builder的文档.

I came across a sample code namely ToyVpn.I ran the application but i dont know what datas i need to give in the form shown by that application, Consider iam having a VPN server with ip-address (say 10.162.1.2), What i need to do in that application to make that app work .

您的VPN需要创建一个新套接字,保护套接字不使用VpnService.protect(套接字)路由回VPN,并将套接字连接到10.162.1.2.建立到VPN服务器的隧道连接后,您应该继续将VpnService接口的输入流写入隧道的输出流,然后将隧道响应写回接口输出流.

If i try to use any public VPN server, What i need to do?

没有用于建立与VPN服务器的连接的标准机制. ToyVpn只是使用原始TCP数据包通过套接字进行通信.您可以像OpenVPN一样实现现有协议(参见RFC 4026),也可以自己编写.

上一篇:VPN搭建(预共享密钥)---Centos部署服务器


下一篇:android – 写入VpnService输出流没有提供任何响应