Je travaille sur un projet Qt/C++ et l'une de ses fonctions est la mise en place d'une base de données MySQL. Ce morceau de code fonctionne très bien, mais l'un des éléments que l'utilisateur doit fournir pour le faire fonctionner est le port sur lequel le processus MySQL est en train d'écouter. C'est en général 3306 ou 5432, (en fonction de l'OS ... MySQL veut d'abord utiliser le 3306 en premier mais je l'ai essayé d'utiliser le port Postgres une fois) mais j'ai l'impression de devoir tenir compte de configurations étranges. Beaucoup d'utilisateurs n'auront aucune idée de ce qu'il faut mettre dans ce champ, à moins qu'ils en sachent assez sur MySQL pour savoir quels ports il utilise. (la plupart des gens ne le font pas) Mon public cible pour le programme est tout le monde qui pourrait vouloir tenir un journal informatisé, donc ce serait bien si le programme peut trouver le bon port tout seul. Je pourrais faire exécuter au programme une liste de ports couramment utilisés jusqu'à ce qu'il trouve le bon (ce qui devrait fonctionner dans la plupart des configurations), mais il serait préférable de savoir quel port utiliser. De cette façon, il n'y aura pas de problèmes si l'utilisateur a une configuration bizarre pour une raison quelconque.Port MYSQL actif à détection automatique en C++
Une idée de comment j'irais faire cela? J'ai essayé de googler et je n'ai rien trouvé de pertinent.
Ouvrez un socket sur chaque port et suivez le premier bit du protocole de connexion MySQL. Sinon, faites en sorte que votre pilote MySQL essaye de se connecter sur un tas de ports. Notez que ces deux derniers seraient plutôt lents. – jli