CreateTCPClient

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 return_code_t PLATFORM_NATIVE_CALLING_CONVENTION CreateTCPClient(const remote_address_t* pServerAddress, std::uint16_t nPortLE, IInternetConnectionEndPoint** ppCP) noexcept;

Создает TCP-клиент с интерфейсом IInternetConnectionEndPoint.

Параметры
[in]pServerAddressАдрес сервера, к которому необходимо подключиться. Адрес задается приведенным указателем на одну из следующих структур.
  • Если адрес определен символическим именем, которое требуется разрешить обращением к серверу доменных имен, структура имеет следующий вид.
struct dns_address_t
{
   std::size_t nType;
   const char* pNode;
   std::size_t cchNode;
};

Здесь nType - тип адреса, определенный машинным словом со значением 2 (DNS_NAME). pNode - имя узла, заданное строкой UTF-8. cchNode - длина строки, заданная машинным словом.

  • Если адрес задан в виде IPv4, параметр имеет следующий вид.
struct ip4_address_t
{
   std::size_t nType;
   std::uint32_t nValue;
};

Здесь nType - тип адреса, определенный машинным словом со значением 0 (IPV4_ADDRESS). nValue - четырехбайтовый адрес удаленного узла (Little-Endian).

  • Если адрес задан в виде IPv6, параметр имеет следующий вид.
struct ip6_address_t
{
   std::size_t nType;
   std::uint8_t pBytes[16];
   std::uint32_t nScope;
};

Здесь nType - тип адреса, определенный машинным словом со значением 1 (IPV6_ADDRESS). pBytes - шестнадцатибайтовый адрес удаленного узла (Little-Endian). nScope - контекст IPv6.

nPortLE16-битовый порт в Little-Endian формате.
[out]ppCPУказатель, на выходе принимающий адрес реализации клиентской точки доступа с интерфейсом IInternetConnectionEndPoint. Если функция завершается с ошибкой, выходное значение устанавливается в 0.
Возвращаемое значение:
32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.
См. также
CreateTCPServer
make_tcp_client