Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:无法通过ToyVpn应用程序连接到VPN服务器;获取端口不可访问异常_Android_Vpn - Fatal编程技术网

Android:无法通过ToyVpn应用程序连接到VPN服务器;获取端口不可访问异常

Android:无法通过ToyVpn应用程序连接到VPN服务器;获取端口不可访问异常,android,vpn,Android,Vpn,我正在尝试在android上创建一个VPN客户端。我查看了android示例应用程序“ToyVpn”,我试图从该应用程序连接到我的PC(Windows 7),但遇到端口无法访问的异常 E/ToyVpnService(2302): Got java.net.PortUnreachableException: E/ToyVpnService(2302): Got java.net.SocketException: sendto failed: ECONNREFUSED (Connection re

我正在尝试在android上创建一个VPN客户端。我查看了android示例应用程序“ToyVpn”,我试图从该应用程序连接到我的PC(Windows 7),但遇到端口无法访问的异常

E/ToyVpnService(2302): Got java.net.PortUnreachableException: 
E/ToyVpnService(2302): Got java.net.SocketException: sendto failed: ECONNREFUSED (Connection refused)
但当我通过安卓的默认vpn客户端连接到我的电脑时,它就成功连接了。通过在命令行中输入“netstat”,我观察到我的pc的端口1723连接到了手机的端口36302。所以,当然可以到达港口

这是一个示例应用程序,应该可以工作……但我也看到了一些其他链接,其中提到他们无法通过此应用程序连接到服务器

这个样品有用吗?这个API需要根手机吗

除此之外,我没有找到任何样本或教程来展示“android.net.VpnService”的正确使用


有谁能给我指点一下吗

ToyVpnService是一个简单自定义VPN的示例实现。它不符合标准。如果你想要一个符合标准的VPN,你应该使用内置的

如果您想测试这个示例,那么有一个linux服务器可以理解与ToyVPN示例一起打包的ToyVPN协议

它被称为ToyVPN,因为它就是这样

  • 它不加密
  • 它不进行双向身份验证
  • 它以明文形式发送预共享的身份验证密钥
  • 它不能优雅地处理意外数据包
  • 它不能保证数据包的完整性或来源
它只显示了VPN服务API如何从手机上的应用程序中捕获数据包,并将其推下隧道。类似地,如何将数据包像来自网络一样注入应用程序


其余的由开发人员来实现。

我已经使用vpn服务包装了另一个专有vpn解决方案,为其提供android支持。我没有从零开始编写VPN,因为这几乎是在编写自己的密码领域。我们都知道这不是一个好主意,除非你是一个被有多年实践经验的天才包围的天才。