ConnectToServerByProxy - Metodo

Panoramica

Tipo:

Metodo

Disponibile a partire da:

V1.3.1.0

Task

Il metodo ConnectToServerByProxy avvia la connessione TCP al server HTTP tramite un server proxy.

Descrizione funzionale

Questo metodo viene utilizzato per avviare la creazione di una connessione TCP al server HTTP tramite un server proxy. Per la richiesta di connessione al server proxy, nell'applicazione deve essere implementato un blocco funzione che implementa l'interfaccia IF_ProxyHandler. Questo blocco funzione deve essere assegnato all'ingresso i_ifProxyHandler.

Dopo aver assegnato un'interfaccia valida all'ingresso, i metodi dell'interfaccia vengono richiamati dal blocco funzione mentre si stabilisce una connessione al server HTTP.

La sequenza di chiamata è la seguente:

  1. Quando viene eseguito il metodo ConnectToServerByProxy, viene chiamato il metodo di interfaccia ConnectToProxy.

    Se per la connessione al server HTTP è selezionata la crittografia TLS, il tipo di socket StartTls è impostato a TRUE. Il metodo viene chiamato ciclicamente finché una delle uscite q_xDone (connessione stabilita) o q_xError (connessione non riuscita) indica TRUE.

  2. Dopo aver stabilito la connessione al server proxy, viene chiamato il metodo di interfaccia ConnectToRemoteServer.

    Se per la connessione al server HTTP è selezionata la crittografia TLS, l'opzione UpgradeToTls è impostata a TRUE. Il metodo viene chiamato ciclicamente finché una delle uscite q_xDone (connessione stabilita) o q_xError (connessione non riuscita) indica TRUE.

  3. Dopo il completamento del metodo ConnectToRemoteServer, l'istanza di FB_HttpClient viene connessa al server remoto. È possibile lo scambio di dati con il server utilizzando i metodi corrispondenti. L'interfaccia IF_ProxyHandler non è richiesta finché non viene avviata la connessione TCP successiva utilizzando il metodo ConnectToServerByProxy.

Il valore di restituzione di questo metodo indica solo se è stato possibile iniziare correttamente la connessione o meno. Lo stato della connessione deve essere verificato tramite la proprietà State. Valutare le uscite di diagnostica del metodo, nel caso in cui il valore di restituzione sia FALSE. Non è necessario azzerare un errore indicato da queste uscite.

Se viene rilevato un errore durante la creazione di una connessione, il metodo di interfaccia Abort di IF_ProxyHandler viene chiamato una volta.

Per ulteriori informazioni sull'implementazione dei metodi di interfaccia o sulle implementazioni già fornite, vedere la ProxyCommunicationSupport - Guida della libreria.

Considerazioni per connessioni protette che utilizzano TLS

Transizione di stato del client

Fase

Descrizione

1

Stato iniziale: Idle

2

Chiamata di funzione

3

Stato: Connecting, altrimenti viene rilevato un errore

4

Stato finale: Connected, altrimenti viene rilevato un errore

Interfaccia

Ingresso

Tipo di dati

Descrizione

i_sServerAddress

STRING[255]

Specifica l'indirizzo IP o il nome host del server a cui connettersi.

i_uiServerPort

UINT

Specifica l'indirizzo della porta del server.

i_xUseTls

BOOL

Impostare a TRUE per specificare l'uso di una connessione protetta che utilizza TLS.

i_stTlsSettings

TlsSettings

Specifica le impostazioni TLS per la connessione protetta.

i_ifProxyHandler

PXCS.IF_ProxyHandler

Blocco funzione che implementa l'interfaccia IF_ProxyHandler che fornisce i metodi e le proprietà necessari per implementare i passi aggiuntivi per stabilire una connessione a un server HTTP tramite un server proxy.

Uscita

Tipo di dati

Descrizione

q_xError

BOOL

Se questa uscita è impostata su TRUE, è stato rilevato un errore. Per informazioni, consultare q_etResult e q_etResultMsg.

q_etResult

ET_Result

Fornisce informazioni su stato e diagnostica come valore numerico.

q_sResultMsg

STRING[80]

Fornisce ulteriori informazioni su stato e diagnostica come messaggio di testo.