Lingua

VpnService.Builder.Establish Metodo

Definizione

Creare un'interfaccia VPN usando i parametri forniti a questo generatore.

[Android.Runtime.Register("establish", "()Landroid/os/ParcelFileDescriptor;", "GetEstablishHandler")]
public virtual Android.OS.ParcelFileDescriptor? Establish();
[<Android.Runtime.Register("establish", "()Landroid/os/ParcelFileDescriptor;", "GetEstablishHandler")>]
abstract member Establish : unit -> Android.OS.ParcelFileDescriptor
override this.Establish : unit -> Android.OS.ParcelFileDescriptor

Valori restituiti

ParcelFileDescriptor dell'interfaccia VPN o null se l'applicazione non è preparata.

Attributi

Eccezioni

se un parametro non viene accettato dal sistema operativo.

se non è possibile applicare un parametro dal sistema operativo.

se il servizio non è dichiarato correttamente in AndroidManifest.xml.

Commenti

Il descrittore non blocca per impostazione predefinita e deve essere chiuso al termine della connessione VPN. Un handover riuscito disattiva l'interfaccia VPN precedente.

Creare un'interfaccia VPN usando i parametri forniti a questo generatore. L'interfaccia funziona sui pacchetti IP e viene restituito un descrittore di file per consentire all'applicazione di accedervi. Ogni lettura recupera un pacchetto in uscita indirizzato all'interfaccia. Ogni scrittura inserisce un pacchetto in ingresso proprio come è stato ricevuto dall'interfaccia. Il descrittore di file viene impostato in modalità non bloccante per impostazione predefinita per evitare di bloccare Java thread. Per usare completamente il descrittore di file nello spazio nativo, vedere ParcelFileDescriptor#detachFd(). L'applicazione DEVE chiudere il descrittore di file quando la connessione VPN viene terminata. L'interfaccia VPN verrà rimossa e la rete verrà ripristinata automaticamente dal sistema.

Per evitare conflitti, può essere presente una sola interfaccia VPN attiva contemporaneamente. In genere i parametri di rete non vengono mai modificati durante la durata di una connessione VPN. È anche comune che un'applicazione crei un nuovo descrittore di file dopo aver chiuso quello precedente. Tuttavia, è raro ma non impossibile avere due interfacce durante l'esecuzione di un handover senza interruzioni. In questo caso, l'interfaccia precedente verrà disattivata quando ne viene creata una nuova. Entrambi i descrittori di file sono validi, ma ora i pacchetti in uscita verranno instradati alla nuova interfaccia. Pertanto, dopo aver svuotato il descrittore di file precedente, l'applicazione DEVE chiuderla e iniziare a usare il nuovo descrittore di file. Se non è possibile creare la nuova interfaccia, l'interfaccia esistente e il relativo descrittore di file rimangono invariati.

Se non è possibile creare l'interfaccia per qualsiasi motivo, verrà generata un'eccezione. Tuttavia, questo metodo restituisce null se l'applicazione non è preparata o viene revocata. Ciò consente di risolvere le possibili race condition tra altre applicazioni VPN.

per android.net.VpnService.Builder.establish().

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a

Vedi anche