ConnectToServer - Método

Descripción general

Tipo:

Método

Disponible desde:

V1.0.0.0

Tarea

El método ConnectToServer inicia la conexión TCP con el servidor.

Descripción funcional

Este método se utiliza para iniciar el establecimiento de una conexión TCP con el servidor, el cual se especifica mediante su dirección IPv4 y el puerto correspondiente. Los puertos estándar de HTTP son el 80 y el 443 (seguros, HTTPS). Ajuste el parámetro i_xUseTls en TRUE para especificar que debe establecerse una conexión segura.

El valor de retorno de este método solo indica si la conexión se ha podido iniciar correctamente. El estado de la conexión debe comprobarse mediante la propiedad State. Si el valor de retorno es FALSE, evalúe los resultados de diagnóstico del método. Los errores que indiquen estos resultados no necesitan un restablecimiento.

Consideraciones relativas al uso con un proxy HTTP

Si existe un proxy HTTP entre el controlador y el servidor HTTP remoto, deberá especificar los parámetros de conexión del proxy en el método ConnectToServer. Si el cliente está conectado al proxy, el tráfico HTTP se reenviará entre el cliente y el servidor remoto a través del servidor proxy. La dirección y el puerto se obtendrán del servidor proxy a partir del encabezado de la petición HTTP enviada. Estos se corresponden con el parámetro i_sHost del método en cuestión para el envío de una petición HTTP.

NOTA: Consulte el Código de ejemplo para obtener más información.

Si un servidor proxy prohíbe el reenvío de tráfico HTTP entre su cliente y el servidor HTTP pero admite el establecimiento de un túnel al servidor remoto, podrá implementar la conexión para el servidor remoto mediante el método ConnectToServerByProxy.

Consideraciones relativas a las conexiones seguras con TLS

TLS permite cifrar la comunicación entre cliente y servidor. Además del cifrado, TLS ofrece la posibilidad de comprobar la identidad del otro participante en la comunicación con el uso de certificados.

Los certificados se intercambian mientras se establece la conexión, lo que se conoce como protocolo de enlace de TLS. Aunque el envío de certificados durante el protocolo de enlace de TLS es opcional, es posible que el otro participante en la comunicación requiera el certificado. La conexión con el participante en la comunicación solo podrá establecerse si el resultado de la comprobación del certificado es positivo. Si la ejecución del método ConnectToServer con xUseTls = TRUE termina en estado Error con ErrorResult = ConnectFailed, podría tratarse de un problema con el certificado.

En tal caso, compruebe la configuración de TLS del servidor y del cliente.

Si…

Entonces…

Si el servidor está configurado para que compruebe el certificado del cliente.

Asegúrese de que el parámetro i_stTlsSettings.xSendClientCertificate esté ajustado en TRUE.

Si el cliente está configurado para que compruebe el certificado del servidor, i_stTlsSettings.etCertVerifyMode tendrá un valor distinto de NotVerified.

Asegúrese de que el servidor envíe su certificado.

Si el cliente está configurado para aceptar únicamente certificados de confianza, i_stTlsSettings.etCertVerifyMode = TrustedOnly.

Asegúrese de que el certificado del servidor esté clasificado como de confianza.

Para ello, gestione los certificados manualmente en el controlador. Para hacerlo, utilice el editor Pantalla de seguridad de Machine Expert Logic Builder.

Para obtener más información sobre la gestión de certificados en el controlador, consulte la Guía del usuario Cómo gestionar certificados en el controlador en EcoStruxure Machine Expert.

Transición de estado del cliente

Etapa

Descripción

1

Estado inicial: Idle

2

Llamada de función

3

Estado: Connecting; de lo contrario, se detecta un error

4

Estado final: Connected; de lo contrario, se detecta un error

Interfaz

Input

Tipo de datos

Descripción

i_sServerIP

STRING[15]

Especifica la dirección IP del servidor al que se conecta.

i_uiServerPort

UINT

Especifica la dirección del puerto del servidor.

i_xUseTls

BOOL

Ajústelo en TRUE para especificar el uso de una conexión segura con TLS.

i_stTlsSettings

TlsSettings

Especifica la configuración de TLS de la conexión segura.

Salida

Tipo de datos

Descripción

q_xError

BOOL

Si esta salida se establece en TRUE, se ha detectado un error. Para obtener información detallada, consulte q_etResult y q_etResultMsg.

q_etResult

ET_Result

Proporciona información de diagnóstico y estado en forma de valor numérico.

q_sResultMsg

STRING[80]

Proporciona información adicional de diagnóstico y estado en forma de mensaje de texto.