Есть настроенный UbuntuServer с openVPN, для проверки использовал Windows клиента, клиент соединился все прошло успешно (использовал файлы ключей и сертификатов выданных сервером).
Хочу написать клиент на Android, в интернете все сводится к примеру
ToyVpnService также нашел статью
Android VPN Service Explained with Packet Bypass E...
Использую AndroidStudio, использую "class ToyVpnService extends VpnService" из "ToyVpnService"
клиент зависает в цикле:
InetSocketAddress server = new InetSocketAddress(mServerAddress, Integer.parseInt(mServerPort));
for (int attempt = 0; attempt < 10; ++attempt) {
mHandler.sendEmptyMessage(R.string.connecting);
if (run(server)) {//Сброс счетчика, если мы были связаны.
attempt = 0;
Log.i(TAG, "соединение установлено");
}
Thread.sleep(3000);//Спать на некоторое время. Это также проверяет, если мы получили прерывается.
}
Log.i(TAG, "Giving up");
10 раз появляется сообщение "R.string.connecting"-Соединяемся... в логах AndroidStudio пишется 10 раз:
04-29 08:46:09.097 1003-1023/ru.example.vpn E/PROG﹕ Got java.lang.IllegalStateException: Timed out
еще лог, оказывается он пытается соединится:
04-29 09:48:30.217 1143-1160/ru.example.vpn I/PROG﹕ run 1
04-29 09:48:30.217 1143-1160/ru.example.vpn I/PROG﹕ run Create a DatagramChannel as the VPN tunnel.
04-29 09:48:30.257 1143-1160/ru.example.vpn I/PROG﹕ run Protect the tunnel before connecting to avoid loopback.
04-29 09:48:30.257 1143-1160/ru.example.vpn I/PROG﹕ run Connect to the server.
04-29 09:48:30.257 1143-1160/ru.example.vpn I/PROG﹕ run For simplicity, we use the same thread for both reading and writing. Here we put the tunnel into non-blocking mode.
04-29 09:48:30.257 1143-1160/ru.example.vpn I/PROG﹕ run Authenticate and configure the virtual network interface.
04-29 09:48:30.267 1143-1160/ru.example.vpn I/PROG﹕ handshake build a secured tunnel
04-29 09:48:30.267 1143-1160/ru.example.vpn I/PROG﹕ handshake Control messages always start with zero.
04-29 09:48:30.267 1143-1160/ru.example.vpn I/PROG﹕ handshake Send the secret several times in case of packet loss.
04-29 09:48:30.267 1143-1160/ru.example.vpn I/PROG﹕ handshake Wait for the parameters within a limited time.
04-29 09:48:30.367 1143-1160/ru.example.vpn I/PROG﹕ handshake Normally we should not receive random packets. (50 раз повторяется)
04-29 09:48:35.407 1143-1160/ru.example.vpn E/PROG﹕ Got java.lang.IllegalStateException: Timed out
Как соединить? Где использовать файлы выданные сервером?