| 633 | } |
| 634 | |
| 635 | void Client::bindNetworkInterface(IDataSocket *socket) const |
| 636 | { |
| 637 | try { |
| 638 | if (const auto address = Settings::value(Settings::Core::Interface).toString(); !address.isEmpty()) { |
| 639 | LOG_DEBUG1("bind to network interface: %s", qPrintable(address)); |
| 640 | |
| 641 | NetworkAddress bindAddress(address.toStdString()); |
| 642 | bindAddress.resolve(); |
| 643 | |
| 644 | socket->bind(bindAddress); |
| 645 | } |
| 646 | } catch (BaseException &e) { |
| 647 | LOG_WARN("%s", e.what()); |
| 648 | LOG_WARN("operating system will select network interface automatically"); |
| 649 | } |
| 650 | } |