AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Sockets
  • Optimizando las conexiones para una IP Address
  • Timeout
  • Resolución de nombres
  • Permisos necesarios
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Se utiliza para establecer una conexión segura con un servidor SSL.
Ejemplo
IF SocketConnectSSL("Server", 8000, "150.134.20") = False THEN
Error("Connection error" + ErrorInfo(errMessage))
END
Sintaxis
<Result> = SocketConnectSSL(<Socket name> , <Port number> , <Address> [, <SSL option> [, <Maximum timeout> [, <Client certificate>]]])
<Result>: booleano
  • True si se estableció la conexión,
  • False en caso contrario. Si se produce un error, puede get más detalles sobre el error con ErrorInfo.
<Socket name>: Cadena de caracteres
Nombre que se le dará a la conexión abierta en el socket del servidor. Este nombre será utilizado por todas las funciones del socket.
WINDEV Atención: el nombre del socket distingue entre mayúsculas y minúsculas.
<Port number>: Integro
Número de puerto de la toma de corriente. Si utiliza un zócalo associated con un protocolo preestablecido, utilice el número de puerto associated con el protocolo.
Si el socket fue creado por una aplicación WINDEV, este número debe incluirse entre 5 000 y 65 000. En este caso, el número debe ser idéntico al número de puerto especificado en SocketCreateSSL.
<Address>: Cadena de caracteres
Dirección del servidor. Si no se especifica este parámetro, se busca el servidor en el ordenador actual.. Esta Address se puede dar en el siguiente formato:
  • IP Address en formato XXX.XXX.XXX.XXX (125.5.110.100 por ejemplo).
  • URL que contiene el nombre del servidor (www.windev.com por ejemplo). Se recomienda esta sintaxis.
WINDEVWEBDEV - Código Servidor La Address también puede corresponder a la IP Address devuelta por NetIPAddress.
AndroidWidget Android La Address debe ser la IP del servidor Address (no el nombre del servidor).
<SSL option>: Combinación opcional de constantes de tipo integer
Permite elegir el protocolo y el modo de identificación:
ProtocolSSL2SSL2 protocol
LinuxiPhone/iPad Este protocolo no es compatible.
ProtocolSSL3Protocolo SSL3
LinuxiPhone/iPad Este protocolo no es compatible.
ProtocolTLS1Protocolo TLS1
ProtocolTLS1 _1TLS 1.1 protocol
ProtocolTLS1 _2TLS 1.2 protocol
ProtocolTLS1 _3TLS 1.3 protocol

Por Default, la combinación utilizada es: ProtocolTLS1 + ProtocolTLS1_1 + ProtocoleTLS1_2.
<Maximum timeout>: Entero o duración opcional
Tiempo máximo de espera (en milisegundos) para establecer la conexión. Este tiempo de espera se utilizará si el servidor rechaza la conexión (SocketDeny). En este caso, la conexión no se bloqueará.
Este parámetro puede ser:
  • un número entero que corresponde al número de milisegundos,
  • una variable de tipo Duration,
  • la duración en un formato legible (por ejemplo, 1 s o 10 ms).
Esta espera es igual a 10 milisegundos de Default.
<Client certificate>: Variable de tipo Certificate
Nombre de la Certificate Variable que permite al servidor autentificar al cliente que quiere conectarse y comprobar si este cliente está autorizado a acceder al servidor. Este Certificate debe ser reconocido en el servidor.
LinuxAndroidWidget Android iPhone/iPad Este parámetro no está disponible.
Observaciones

Optimizando las conexiones para una IP Address

Cuando se pasa una dirección IP a la función SocketConnectSSL, se puede optimizar la conexión utilizando el siguiente código:
Socket.Option = SocketOptimizeIPConnection
Esta opción no está habilitada por Default porque la conexión puede fallar en algunas configuraciones. Sin embargo, puede ser useful en algunas aplicaciones para las que el rendimiento es crítico.
Observación: Para restaurar el comportamiento predeterminado, simplemente use la constante SocketOptionDefault:
Socket.Option = SocketOptionDefault

Timeout

El tiempo de espera especificado por agrupa el tiempo de espera de dos pasos:
  • el tiempo de espera para la resolución de Address: este tiempo de espera no puede ser configurado y puede ser optimizado (ver abajo).
  • el tiempo máximo de espera para que la conexión sea aceptada por el servidor. Pueden darse varios casos:
    • el servidor rechaza la conexión.
    • el servidor acepta la conexión dentro del límite de tiempo de espera
    • el servidor no está disponible.
    • la Address especificada es inválida.
Para optimizar el tiempo de resolución de Address (tiempo necesario para encontrar el Address), le aconsejamos que:
  • usar un DNS en la red. Por lo tanto, esta Address se buscará hacia este servidor y no para cada ordenador (1 búsqueda en lugar de x búsquedas donde x representa el número de ordenadores). Cada computadora debe estar registrada hacia este servidor.
  • para una dirección IP, use Socket.Option = SocketOptimizeIPConnection.
AndroidWidget Android

Resolución de nombres

El emulador Android no utiliza el sistema de resolución de nombres de el equipo sobre el que se ejecuta. Este detalle es importante si su ordenador de desarrollo está configurado para añadir automáticamente un sufijo de nombre de dominio local a los nombres el equipo para resolver. En el emulador Android es necesario especificar los nombres completos.
Por ejemplo: Si su ordenador está configurado para añadir el sufijo "midominio.com" a los nombres simples, el código siguiente:
SocketConnect("myserver")
intentará conectarse a myserver.midominio.com si se ejecuta directamente en el PC y a "myserver" en el emulador Android.
Cuando se ejecuta en un dispositivo Android , SocketConnectSSL espera una IP Address:
SocketConnect("125.5.110.100") // or a string that contains the IP address.
AndroidWidget Android

Permisos necesarios

La llamada a esta función modifica los permisos requeridos por la aplicación.
Requerido Permission : INTERNET
Esta Permission permite a las aplicaciones abrir la red sockets.
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290com.dll
Versión mínima requerida
  • Versión 12
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 22/06/2023

Señalar un error o enviar una sugerencia | Ayuda local