Aller au contenu

DevIOICSocket

Introduction

DevIOICSocket est une Interface Canal (IC) qui fournit des services de communication réseau basés sur les sockets pour les interfaces d'échange DevIO. Cette interface prend en charge les protocoles TCP, UDP et TLS/SSL pour établir des connexions réseau sécurisées et non sécurisées.

L'interface canal socket agit comme un intermédiaire entre les interfaces d'échange et les équipements distants, gérant les connexions réseau, la sécurité SSL/TLS, et la transmission des données.

Architecture et fonctionnement

Composants principaux

  • SocketManager : Gestionnaire principal des connexions socket avec support IOCP (I/O Completion Ports)
  • Interface : Point d'entrée principal avec gestion des paramètres de ligne de commande
  • Socket/SecureSocket : Classes de gestion des connexions TCP/UDP et TLS/SSL
  • EventManager : Gestionnaire d'événements asynchrones
  • DNSManager : Résolution DNS des adresses

Modes de fonctionnement

L'interface supporte plusieurs modes d'appels entrants (-IN_DEVIO) :

Mode Valeur Description
IncomingModeIE 0 Notifier uniquement l'Interface d'Échange
IncomingModeDevioAndIE 1 Notifier le serveur DevIO et l'Interface d'Échange
IncomingModeDevio 2 Notifier uniquement le serveur DevIO
IncomingModeDevioIfCallIdOrIE 3 Notifier DevIO si callAddress connue, sinon l'IE

Paramètres de configuration

Paramètres généraux

Paramètre Description Valeur par défaut
-SERVER Nom du serveur DevIO Obligatoire
-NAME Nom de l'interface canal Obligatoire
-HANDLE Handle de l'interface Obligatoire
-LOG Activation de la journalisation Non activé
-ASCII Traces en format ASCII Non activé
-IN_DEVIO Mode de notification des appels entrants 0

Paramètres de performance

Paramètre Description Valeur par défaut
-NBCNX Nombre maximum de connexions simultanées 0 (illimité)
-KAT Temps de keep-alive (ms) 0 (désactivé)
-KAI Intervalle keep-alive (ms) 0 (désactivé)
-WT Nombre de threads de travail -1 (auto)
-NBA Nombre d'acceptations simultanées 1

Paramètres d'affichage et debug

Paramètre Description Valeur par défaut
-Q Mode silencieux (affichage socket) Non activé
-QQ Mode très silencieux (affichage minimal) Non activé
-R Résolution DNS sans domaine Non activé
-RD Résolution DNS avec domaine Non activé

Paramètres SSL/TLS

Paramètre Description Valeur par défaut
-CERT Nom du certificat de sécurité Non défini
-MODE Mode de fonctionnement SSL Non défini
-NOCRL Désactiver la liste de révocation des certificats Non activé
-DCRL CRL dynamique Non activé
-LM Utiliser le magasin de certificats machine locale Non activé
-MCV Validation manuelle des informations d'identification Non activé

Paramètres techniques avancés

Paramètre Description Valeur par défaut
-NOV Désactiver les opérations overlapped (limité à 63 connexions) Non activé
-NOL Désactiver les logs IOCP Non activé
-IGN Adresses IP ignorées (format IP/masque) Non défini
-MIR Mode miroir pour les appelants ignorés Non activé

Paramètres de destination

Paramètre Description
-TCP Destination d'appel entrant TCP
-UDP Destination d'appel entrant UDP
-TLS Destination d'appel entrant TLS/SSL

Configuration dans DevIO Studio

1. Déclaration de l'interface canal

  1. Ouvrir le projet avec DevIO Studio
  2. Cliquer-droit sur CanauxNouveau canal
  3. Sélectionner Socket comme type d'interface canal
  4. Configurer les paramètres selon les besoins

2. Configuration des protocoles

TCP

-TCP <port>

UDP

-UDP <port>

TLS/SSL

-TLS <port> -CERT <nom_certificat>

3. Exemples de configuration

Configuration TCP simple

-SERVER MonServeur -NAME ICSocket_TCP -HANDLE 1 -TCP 502

Configuration TLS sécurisée

-SERVER MonServeur -NAME ICSocket_TLS -HANDLE 2 -TLS 443 -CERT "MonCertificat" -MODE "server"

Configuration avec keep-alive

-SERVER MonServeur -NAME ICSocket_KA -HANDLE 3 -TCP 502 -KAT 30000 -KAI 1000

Utilisation et supervision

Surveillance des connexions

L'interface fournit des informations de diagnostic via : - Logs de connexion : Établissement/fermeture des connexions - Statistiques de performance : Nombre de connexions actives - Résolution DNS : Traces de résolution d'adresses

Gestion des erreurs

  • Timeout de connexion : Gestion automatique des connexions expirées
  • Erreurs SSL/TLS : Validation des certificats et chiffrement
  • Saturation : Limitation du nombre de connexions simultanées

Mode debug

Activer les traces détaillées avec :

-LOG -R -RD

Sécurité SSL/TLS

Configuration des certificats

  1. Installation : Certificat dans le magasin Windows
  2. Référence : Utiliser -CERT <nom_certificat>
  3. Validation : CRL automatique ou manuelle (-MCV)

Modes de sécurité

  • Serveur TLS : Écoute sur port sécurisé
  • Client TLS : Connexion sortante sécurisée
  • Validation mutuelle : Authentification bidirectionnelle

Optimisation des performances

Threads de travail

  • Auto : -WT -1 (2 × nombre de processeurs)
  • Manuel : -WT <nombre> selon la charge

IOCP (I/O Completion Ports)

  • Activé par défaut : Meilleure performance
  • Désactivable : -NOV pour compatibilité

Limitation des connexions

-NBCNX 100    # Maximum 100 connexions
-NBA 5        # 5 acceptations simultanées

FAQ et dépannage

Q : Comment limiter les connexions par IP ?

R : Utiliser -IGN <IP/masque> pour bloquer des plages d'adresses.

Q : Problème de certificat SSL ?

R : Vérifier l'installation du certificat avec -LM pour le magasin machine locale.

Q : Performance dégradée ?

R : Ajuster -WT et -NBA selon la charge réseau.

Q : Connexions non fermées proprement ?

R : Configurer keep-alive avec -KAT et -KAI.

Annexes et références utiles

Fichiers de configuration

  • Certificats : Magasin de certificats Windows
  • Logs : Répertoire de logs DevIO

Protocoles supportés

  • TCP : Transmission Control Protocol
  • UDP : User Datagram Protocol
  • TLS/SSL : Transport Layer Security

Outils de diagnostic

  • netstat : État des connexions réseau
  • telnet : Test de connectivité TCP
  • openssl : Test des connexions SSL/TLS

Documentation technique