我正在开发一个Qt/C++项目,其中一个功能是设置一个MySQL数据库。这段代码可以正常工作,但用户必须提供的其中一项功能是MySQL进程当前正在监听的端口。这通常是3306或5432,(取决于操作系统... MySQL通常首先要使用3306,但我曾尝试使用Postgres端口),但我觉得我需要考虑奇怪的配置。许多用户将不知道应该在该领域投入什么,除非他们对MySQL有足够的了解以了解它使用的端口。 (大多数人不这样做)我的程序目标受众是每个想要保存电脑日记的人,所以如果程序能够自己找到正确的端口,那将会很不错。在C++中自动检测活动MYSQL端口
我可以让程序在常用端口列表中运行,直到它找到正确的端口(它应该在大多数设置中都能正常工作),但是如果能真正找出使用哪个端口会更好。这样,如果用户出于某种原因具有奇怪的配置,则不会有任何问题。
任何想法如何去做这件事?我尝试了谷歌搜索,并没有发现任何相关信息。
在每个端口上打开一个套接字,并遵循MySQL连接协议的第一位。另外,也可以让你的MySQL驱动试图连接一堆端口。注意这两个都会有点慢。 – jli