Comment diagnostiquer la connexion au serveur?

Parfois l'application n'arrive pas à se connecter au serveur. Plusieurs paramètres peuvent causer le problème. Cet article vous guide à diagnostiquer les problèmes liés aux réseaux.

La partie serveur est constituée de deux composants:

  1. Stock Serveur
  2. SQL Server Express

Pour qu'un client puisse se connecter et utiliser le serveur il faut que:

  1. Stock Serveur soit démarré
  2. SQL Server Express soit démarré
  3. La machine soit joignable depuis le client
  4. Les deux premiers composants ne soient pas bloqués par un firewall

Stock Serveur

Dans sa configuration par défaut (dans la version actuelle), Stock Serveur écoute dans toutes les interfaces réseaux. Elle utilise un port pour chaque interface. L'application utilise aussi le protocole WS-Discovery pour la découverte automatique depuis les clients.

L'outil de configuration permet de connaitre les adresses IP est les ports en cours d'utilisation:

SQL Server Express

L'application install automatiquement une instance SQL Server Express nommé KlickStock. Cette instance est aussi configurée pour qu'elle écoute sur toutes les interfaces réseau sur le port unique 31031

Le parfeau (firewall)

Le programme d'installation du serveur configure automatiquement le firewall Windows pour autoriser les connexions vers SQL Server en ouvrant le port 31031 et autorise l'exécutable se Stock Serveur à écouter sur n'importe quel port.

Comment vérifier que les services sont démarrés

Il suffit juste de lancer l'outil de configuration pour voir que tous les services ont été démarrer.

Les deux services Stock Serveur et SQL Server Express peuvent être contrôlés depuis le gestionnaire des services Windows.

Comment vérifier que les services sont connectés correctement

Pour vérifier ques les services sont en train d'écouter dans leurs ports désignés, l'outil psping de Microsoft peut être utilisé. Vous pouvez télécharger l'outil depuis https://docs.microsoft.com/en-us/sysinternals/downloads/psping

Pour vérifier par exemple que SQL Server Express est en train d'écouter sur le port 31031 on utilise la commande psping localhost:31031

Comment vérifier que les services sont joingable depuis le client

Il suffit utiliser l'outil psping sur le poste client:

Quelle est l'adresse IP que le client doit utiliser?

Tout dépend de votre configuration, dans mon exemple le serveur a trois adresses IPs 192.168.15.120, 192.168.0.13 et 25.62.140.225

Si je vois les adresses IPs du poste client je vois que le client ne peut joindre le serveur que sur l'adresse 25.62.140.225

Vérifier si Stock Serveur est joinble

Dans mon exemple j'utilise la commande psping 25.62.140.225:6725

Vérifier que SQL Server est joinable

En utilisant la même adresse IP et remplacer le numéro de port par 31031. Dans mon exemple psping 25.62.140.225:31031

Et si ça ne fonctionne pas?

En général il n'y a que le firewall qui bloque les connexions, essayez de le désactiver.

Et si tout fonctionne mais le client n'arrive pas à trouver le serveur?

Dans ce cas, il suffit de spécifier directement l'adresse du serveur dans le client comme décrit ici.