DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Sockets
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Permet d'établir une connexion sécurisée SSL avec un serveur de Websocket. Une fois la connexion ouverte, le websocket se comporte comme un socket classique, il est donc possible d'utiliser les fonctions SocketLit, SocketEcrit, SocketFerme ou SocketExiste.
Remarques :
  • Cette fonction possède deux syntaxes. Une syntaxe de connexion synchrone (avec un timeout et une valeur de retour) ainsi qu'une syntaxe asynchrone (avec une procédure callback).
  • Avec un socket créé par la fonction WebSocketClientConnecteSSL, la fonction SocketChangeModeTransmission n'aura aucun effet. Le socket fonctionne forcement en mode SocketSansMarqueurFin.
Exemple
// On se connecte en mode SYNCHRONE
// au serveur de websocket echo.websocket.events
SI WebSocketClientConnecteSSL("wbsocket", "echo.websocket.events") ALORS
// Envoie une chaîne au serveur d'echo
SI SocketEcrit("wbsocket", "Bonjour le monde !") ALORS
// Le serveur d'echo nous retourne la même chaîne
sMsg est une chaîne = SocketLit("wbsocket", Vrai)
ToastAffiche("Réponse du serveur : " + sMsg)
FIN
FIN
// On se connecte en mode ASYNCHRONE
// au serveur de websocket wss://192.168.100.1/MonProjetServeurWebSocket
WebSocketClientConnecteSSL("client", WebSocketClientConnecte_Callback , ...
"192.168.100.1", 443, "MonProjetServeurWebSocket")

PROCÉDURE INTERNE WebSocketClientConnecte_Callback(nEvénement, sMessage)
SELON nEvénement
CAS SocketOuverture
SocketEcrit("client", "Envoi message depuis le navigateur.")
CAS SocketMessage
Info("Réception d'un message serveur : " + sMessage)
CAS SocketFermeture
Info("Fermeture du socket", sMessage)
CAS SocketErreur
Erreur("Erreur du socket")
FIN
FIN
Syntaxe

Etablir une connexion SSL en mode synchrone Masquer les détails

<Résultat> = WebSocketClientConnecteSSL(<Nom du socket> , <Adresse du serveur> [, <Numéro de port> [, <Chemin> [, <Protocoles> [, <Option SSL> [, <Attente maximale>]]]]])
<Résultat> : Booléen
  • Vrai si la connexion a été réalisée,
  • Faux dans le cas contraire. En cas d'erreur il est possible de connaître le détail de l'erreur grâce à la fonction ErreurInfo.
<Nom du socket> : Chaîne de caractères
Nom à donner à la connexion ouverte sur le socket. Ce nom sera utilisé dans toutes les fonctions socket.
<Adresse du serveur> : Chaîne de caractères
Adresse du poste serveur. Cette adresse peut être donnée sous la forme :
  • adresse IP au format XXX.XXX.XXX.XXX (par exemple 125.5.110.100).
  • URL contenant le nom du serveur (par exemple www.pcsoft.fr). Cette syntaxe est conseillée.
WINDEVWEBDEV - Code Serveur L'adresse peut également correspondre à l'adresse IP obtenue par la fonction NetAdresseIP.
AndroidWidget Android L'adresse doit être l'adresse IP du serveur (et non le nom du serveur).
<Numéro de port> : Entier optionnel
Numéro de port du socket. Par défaut, ce paramètre correspond à 443 (port du HTTPS).
<Chemin> : Chaîne de caractères optionnelle
Chemin vers l'éventuel répertoire virtuel du serveur. Par défaut ou si ce paramètre vaut chaîne vide (""), ce chemin correspondra à "/".
<Protocoles> : Chaîne de caractères optionnelle
Liste des protocoles que doit supporter le serveur pour établir la connexion (par exemple : "mqtt,soap"). Dans cette liste, les différents protocoles sont séparés par une virgule (","). Une liste (non exhaustive) des protocoles peut être trouvée ici : https://www.iana.org/assignments/websocket/websocket.xml
<Option SSL> : Combinaison de constantes de type entier optionnelle
Permet de choisir le protocole utilisé et le mode d'identification :
ProtocoleSSL2Utilisation du protocole SSL2
LinuxiPhone/iPad Ce protocole n'est pas supporté.
ProtocoleSSL3Utilisation du protocole SSL3
LinuxiPhone/iPad Ce protocole n'est pas supporté.
ProtocoleTLS1Utilisation du protocole TLS1
ProtocoleTLS1_1Utilisation du protocole TLS 1.1
ProtocoleTLS1_2Utilisation du protocole TLS 1.2
ProtocoleTLS1_3Utilisation du protocole TLS 1.3

Par défaut, la combinaison utilisée est : ProtocoleTLS1 + ProtocoleTLS1_1 + ProtocoleTLS1_2.
<Attente maximale> : Entier optionnel ou Durée optionnelle
Attente maximale (en millisecondes) de réalisation de la connexion. Ce délai sert uniquement dans le cas où le serveur refuse la connexion (fonction SocketRefuse). La connexion ne sera alors pas bloquante.
Ce paramètre peut correspondre à :
  • un entier correspondant au nombre de millisecondes,
  • une variable de type Durée,
  • l'indication directe de la durée (par exemple 1 s ou 10 ms).
Par défaut, cette attente est égale à 10 millisecondes.

Etablir une connexion SSL en mode asynchrone Masquer les détails

WebSocketClientConnecteSSL(<Nom du socket> , <Procédure WLangage> , <Adresse du serveur> [, <Port> [, <Chemin> [, <Protocoles> [, <Option SSL>]]]])
<Nom du socket> : Chaîne de caractères
Nom à donner à la connexion ouverte sur le socket. Ce nom sera utilisé dans toutes les fonctions socket.
<Procédure WLangage> : Nom de procédure
Cette procédure est appelée une fois que la connexion au serveur a été effectuée. Cette procédure permet par exemple d'envoyer un message au serveur à l'aide de la fonction SocketEcrit.
Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction WebSocketClientConnecteSSL.
ATTENTION : la procédure est appelée dans le thread principal de l'application :
  • Il est possible d'accéder aux champs de l'UI depuis la procédure.
  • Le traitement ne doit pas être trop long au risque de bloquer l'utilisateur.
<Adresse du serveur> : Chaîne de caractères
Adresse du poste serveur. Cette adresse peut être donnée sous la forme :
  • adresse IP au format XXX.XXX.XXX.XXX (par exemple 125.5.110.100).
  • URL contenant le nom du serveur (par exemple www.pcsoft.fr). Cette syntaxe est conseillée.
WINDEVWEBDEV - Code Serveur L'adresse peut également correspondre à l'adresse IP obtenue par la fonction NetAdresseIP.
AndroidWidget Android L'adresse doit être l'adresse IP du serveur (et non le nom du serveur).
<Port> : Entier optionnel
Numéro de port du socket. Par défaut, ce paramètre correspond à 443 (port du HTTPS).
<Chemin> : Chaîne de caractères optionnelle
Chemin vers l'éventuel répertoire virtuel du serveur. Par défaut ou si ce paramètre vaut chaîne vide (""), ce chemin correspondra à "/".
<Protocoles> : Chaîne de caractères optionnelle
Liste des protocoles que doit supporter le serveur pour établir la connexion (par exemple : "mqtt,soap"). Dans cette liste, les différents protocoles sont séparés par une virgule (","). Une liste (non exhaustive) des protocoles peut être trouvée ici : https://www.iana.org/assignments/websocket/websocket.xml
<Option SSL> : Combinaison de constantes de type entier optionnelle
Permet de choisir le protocole utilisé et le mode d'identification :
ProtocoleSSL2Utilisation du protocole SSL2
LinuxiPhone/iPad Ce protocole n'est pas supporté.
ProtocoleSSL3Utilisation du protocole SSL3
LinuxiPhone/iPad Ce protocole n'est pas supporté.
ProtocoleTLS1Utilisation du protocole TLS1
ProtocoleTLS1_1Utilisation du protocole TLS 1.1
ProtocoleTLS1_2Utilisation du protocole TLS 1.2
ProtocoleTLS1_3Utilisation du protocole TLS 1.3

Par défaut, la combinaison utilisée est : ProtocoleTLS1 + ProtocoleTLS1_1 + ProtocoleTLS1_2.
Classification Métier / UI : Code métier
Composante : wd300com.dll
Version minimum requise
  • Version 27
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 03/07/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale