DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Sockets
  • Présentation
  • Le serveur simplifié
  • Etape 1 : Création du socket
  • Etape 2 : Échange de données
  • Etape 3 : Fermeture du socket
  • Mode de transmission des informations
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
Présentation
WINDEV offre la possibilité de créer un serveur de socket simplifié. Ce serveur permet de communiquer avec un seul poste client simultanément. Ce type d'application est très utile lorsque deux applications distantes ont besoin de communiquer.
WINDEV Remarque : WINDEV offre également la possibilité de créer un serveur de sockets plus élaboré (serveur de sockets standard), gérant la connexion de plusieurs postes client simultanément. Pour plus de détails, consultez Serveur de sockets standard.
Le serveur simplifié

Etape 1 : Création du socket

Pour créer le socket, le poste serveur utilise la fonction SocketCrée. Un socket est associé à un port spécifique. Pour simplifier la manipulation du socket par programmation sur le poste serveur, précisez le nom du socket.
Le poste client va venir se connecter sur ce socket pour échanger des données. La connexion entre les deux postes sera effectivement réalisée au premier échange de données entre les deux postes (c'est-à-dire à la première lecture d'informations par le poste serveur).
La connexion est établie au premier succès de la fonction SocketLit sur le serveur.

Etape 2 : Échange de données

Lorsque deux postes utilisent le même socket, un flux de communication s'établit entre ces deux postes. Il est alors possible pour ces deux postes de lire et d'écrire des chaînes de caractères sur le socket.
Remarque : Pour ne pas bloquer les applications, la gestion de la réception des messages est souvent gérée par un thread spécifique (pour plus de détails sur les threads, consultez Gestion des threads).
Pour lire et écrire sur le socket, l'application serveur WINDEV doit utiliser les fonctions SocketLit et SocketEcrit.
Attention : Pour réaliser une lecture, une écriture doit avoir été réalisée. Par exemple :
  1. Le poste client écrit sur le socket : il envoie une requête au poste serveur.
  2. Le poste serveur effectue une lecture sur le socket dans un thread. Dès qu'un message est reçu, le message est traité par le poste serveur.
  3. Si une réponse au message est nécessaire, le poste serveur identifie le poste client (fonction SocketClientInfo), et lui envoie une réponse.

Etape 3 : Fermeture du socket

Pour terminer la communication, le serveur peut fermer le socket avec la fonction SocketFerme.
Remarque : le socket peut aussi être fermé par le poste client.
Mode de transmission des informations
Le mode de transmission du message définit le mode utilisé pour déterminer la longueur du message.
WINDEV propose différentes méthodes pour déterminer la longueur du message lors de la communication entre sockets.
Méthode 1 : mode WINDEV : Par défaut, le nombre de caractères du message est indiqué au début du message. Ce mode de transmission est conseillé lors d'une communication par sockets entre deux applications WINDEV.
Le message est de la forme : "11\r\nHelloWorld"
Méthode 2 : mode standard : La fin du message est signalée par un caractère spécifique, déterminé par avance. Ce mode de transmission est conseillé lors d'une communication par sockets entre une application WINDEV et une autre application. Dans ce cas, il sera nécessaire d'inclure un caractère spécifique dans le message afin d'indiquer que le message est terminé.
Le message est de la forme : "Hello World<EOF>"
Méthode 3 : mode standard avec buffer : Correspond au mode standard optimisé pour les protocoles les plus utilisés sur Internet.
La fonction SocketChangeModeTransmission permet de modifier le mode de transmission utilisé.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

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