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
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
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> [, <Nom du magasin>]]])
<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.
<Nom du magasin> : Chaîne de caractères optionnelle ou constante optionnelle
Nouveauté SaaS
Nom du magasin dans lequel les certificats doivent être recherchés. Ce paramètre peut correspondre :
  • à une chaîne de caractères,
  • à une des constantes suivantes :
    certAutoritéMagasin des autorités de certification.
    certConfianceMagasin de confiance.
    certPersonnel
    (Valeur par défaut)
    Magasin personnel.
    certRacineMagasin des racines
Remarque : Ces constantes ne peuvent pas être combinées.
Attention : Cette fonctionnalité est disponible uniquement à partir de WINDEV Suite SaaS 2025 Update 3.
Pour plus de détails, consultez Utiliser les nouveautés de WINDEV Suite SaaS 2025.
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.
Classification Métier / UI : Code métier
Composante : wd300com.dll
Version minimum requise
  • Version 12
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 29/04/2025

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