DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Sockets
  • Re-création de socket
  • Réutilisation d'une adresse déjà utilisée
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
Créé un socket sécurisé selon le protocole SSL.
Exemple
// Création d'un serveur de Sockets SSL avec un certificat
sSocketSSL est une chaîne = "sSocketSSL"
// Ici utilisation du hash du certificat, 
// propriété "Empreinte numérique" dans le gestionnaire de certificats
// (certmgr.msc)
SI PAS SocketCréeSSL(sSocketSSL, 5043, "9d a4 84 fc f6 62 92 90 9a 62 d4 " + ...
"ca 65 fb 08 7e 06 45 de 24", HashCertificat) ALORS
Erreur(ErreurInfo())
RETOUR
SINON
Info("Socket serveur SSL démarrée")
// Suite du socket serveur ...
// En fin de traitement il faudra fermer le socket
SocketFerme(sSocketSSL)
FIN
Syntaxe
<Résultat> = SocketCréeSSL(<Nom du socket> , <Numéro de port> , <Identifiant du certificat> [, <Options SSL> [, <Adresse>]])
<Résultat> : Booléen
  • Vrai si le socket a été créé,
  • 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 au socket. Ce nom sera utilisé dans toutes les fonctions socket. Attention le nom du socket est "case-sensitive".
<Numéro de port> : Entier
Numéro de port à donner au socket. Ce numéro doit être compris entre 5000 et 65000. Ce numéro sera indiqué lors de la connexion des postes client au poste serveur. Cette connexion sera réalisée par la fonction SocketConnecteSSL.
<Identifiant du certificat> : Chaîne de caractères
Nom ou hash du certificat à utiliser (en fonction des <Options SSL> indiquées) :
  • nom du certificat si la constante NomCertificat est utilisée,
  • hash du certificat si la constante HashCertificat est utilisée. Les espaces sont autorisés dans le Hash. Le hash du certificat peut être obtenu dans la propriété "Empreinte numérique" dans le gestionnaire de certificats (certmgr.msc) du poste, exemple :
    "9d a4 84 fc f6 62 92 90 9a 62 d4 ca 65 fb 08 7e 06 45 de 24"
Ce certificat doit être muni d'une clé privée, installée sur la machine serveur. Pour plus de détails, consultez Comment créer un certificat SSL ?
<Options SSL> : Combinaison de constantes de type entier optionnelle
Protocole et le mode d'identification utilisés :
ProtocoleSSL2Utilisation du protocole SSL2.
ProtocoleSSL3Utilisation du protocole SSL3.
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
HashCertificatLe paramètre <Identifiant du certificat> correspond au hash du certificat.
NomCertificatLe paramètre <Identifiant du certificat> correspond au nom du certificat.

Par défaut, la combinaison utilisée est : ProtocoleTLS1 + ProtocoleTLS1_1 + ProtocoleTLS1_2 + NomCertificat.
<Adresse> : Chaîne de caractères optionnelle
Adresse IP sur laquelle le socket doit être créé sur le poste en cours. Si le poste en cours est associé à plusieurs adresses IP (ou plusieurs cartes réseau), ce paramètre permet de choisir l'adresse IP à associer au socket.
Cette adresse IP peut être donnée sous la forme :
  • adresse IP au format XXX.XXX.XXX.XXX ( par exemple 125.5.110.100).
  • adresse IP contenant le nom du serveur (par exemple www.pcsoft.fr). Cette syntaxe est conseillée.
WINDEVWEBDEV - Code Serveur L'adresse IP peut également être obtenue par la fonction NetAdresseIP.
Remarques

Re-création de socket

Si un socket n'est pas fermé correctement par la fonction SocketFerme (redémarrage du poste par exemple), la recréation du socket peut être relativement longue. Il est en effet nécessaire d'attendre que le système libère le socket.

Réutilisation d'une adresse déjà utilisée

Par défaut, la fonction SocketCréeSSL permet de réutiliser une adresse déjà utilisée (par l'application elle-même ou par une autre application). Pour ne pas autoriser ce fonctionnement, il suffit de saisir le code suivant :
Socket.Option = SocketAdresseUnique
Remarque : Cette option permet également de savoir si une adresse ou un port est déjà utilisé. Dans ce cas, la fonction SocketCréeSSL renvoie une erreur.
Composante : wd300com.dll
Version minimum requise
  • Version 12
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 07/09/2023

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