JS8Call-Improved master
Loading...
Searching...
No Matches
NetworkServerLookup.h File Reference

Blocking DNS / address lookup utility used by network setup code. More...

#include <QAbstractSocket>
#include <QHostAddress>
#include <tuple>
Include dependency graph for NetworkServerLookup.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

std::tuple< QHostAddress, quint16 > network_server_lookup (QString query, quint16 default_service_port, QHostAddress default_host_address=QHostAddress::LocalHost, QAbstractSocket::NetworkLayerProtocol protocol=QAbstractSocket::AnyIPProtocol)
 Parse query and perform a blocking lookup for host and port.

Detailed Description

Blocking DNS / address lookup utility used by network setup code.

The network_server_lookup() function parses a user-style query (which may include an explicit port and/or IPv4/IPv6 address) and returns a tuple of the resolved QHostAddress and the service port to use. If no matching address is found the returned QHostAddress is Null.

Function Documentation

◆ network_server_lookup()

std::tuple< QHostAddress, quint16 > network_server_lookup ( QString query,
quint16 default_service_port,
QHostAddress default_host_address,
QAbstractSocket::NetworkLayerProtocol required_protocol )

Parse query and perform a blocking lookup for host and port.

query supports several shorthand forms:

  • "" (empty) — use the supplied defaults.
  • ":nnnnn" — override the default service port.
  • "<hostname>" — resolve hostname via DNS.
  • "nnn.nnn.nnn.nnn" — use explicit IPv4 address.
  • "[<ipv6>]" — use explicit IPv6 address.
  • Each address form may append :port to override the port.
Parameters
queryUser-specified host[:port] or special shorthand.
default_service_portPort number used when none is specified.
default_host_addressHost address used when query is empty.
protocolNetwork protocol preference (IPv4/IPv6/Any).
Returns
Tuple of (QHostAddress, quint16 port). If resolution fails the returned QHostAddress will be QHostAddress::Null.

Parse query and perform a blocking lookup for host and port.

Parameters
query
default_service_port
default_host_address
required_protocol
Returns
std::tuple<QHostAddress, quint16>