Мое приложение подключается к TCP-серверу. Я хотел бы, чтобы он знал о том, что он работает на том же хосте, что и серверное приложение, чтобы он мог в конечном итоге напрямую запустить серверный процесс, если он не работает.
Поскольку сервер прослушивает интерфейс, а приложение разрешает имя хоста для подключения к серверу, мне не так очевидно определить, указывает ли настроенное имя хоста, используемое для подключения сервера, на тот же хост, что и сервер, или нет.
Я хотел бы что-то вроде этого:
bool isThisLocalHost(QString hostName) {
//resolve hostname's address
//list localhost interfaces ip or hw addresses ?
//if the hostname address matches one of the host interfaces address
//pseudo code
bool bRes = interfaces_addresses_list.contains(hostname_address);
return bRes;
}
На самом деле я пытаюсь добиться этого с помощью QNetworkInterface, QNetworkAddressEntry, QHostInfo, QHostAddress.
Может есть простой способ?