Remote address t: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{DISPLAYTITLE:remote_address_t}} {{class|remote_address_t}} Структура определяет базовый тип для адресов следующи…»)
 
 
(не показана 1 промежуточная версия этого же участника)
Строка 11: Строка 11:
| [[dns_address_t]] || <tt>AddressType::DNS_NAME</tt> || {{dns_address_t brief}}
| [[dns_address_t]] || <tt>AddressType::DNS_NAME</tt> || {{dns_address_t brief}}
|}
|}
{{example_begin}}
<source lang="cpp">
ip4_address_t ip4addr = {IPV4_ADDRESS, 0xff000001}; //127.0.0.1
IInternetConnectionEndPoint pIP4Connection;
return_code_t err = CreateTCPClient(&ip4addr, 80, &pIP4Connection) noexcept;
if (err < 0)
std::cerr << "Error " << err << "\n";
else
{
//...
pIP4Connection->Release();
}
ip6_address_t ip6addr =
{
IPV6_ADDRESS,
{0x8888, 0x2001486048600000}, //2001:4860:4860::8888
0 // default scope
};
IInternetConnectionEndPoint pIP6Connection;
return_code_t err = CreateTCPClient(&ip6addr, 80, &pIP6Connection) noexcept;
if (err < 0)
std::cerr << "Error " << err << "\n";
else
{
//...
pIP6Connection->Release();
}
const char pszDnsAddr[] = "www.chusov.org";
dns_address_t dns_addr = {DNS_NAME, pszDnsAddr, sizeof(pszDnsAddr) - 1};
IInternetConnectionEndPoint pDomainConnection;
return_code_t err = CreateTCPClient(&dns_addr, 80, &pDomainConnection) noexcept;
if (err < 0)
std::cerr << "Error " << err << "\n";
else
{
//...
pDomainConnection->Release();
}
</source>
{{example_end}}
{{sa_list_begin}}
{{sa_list_begin}}
{{sa_list_add|CreateTCPServer}}
{{sa_list_add|CreateTCPServer}}
{{sa_list_add|CreateTCPClient}}
{{sa_list_add|CreateTCPClient}}
{{sa_list_end}}
{{sa_list_end}}

Текущая версия на 19:16, 11 августа 2019

Задает адрес удаленного узла для интернет-соединения.

Открытые данные
Элемент данныхОписание
nTypeТип адреса размером в машинное слово. Принимает одно из значений перечисления AddressType.

Структура определяет базовый тип для адресов следующих категорий.

Структура Идентификатор AddressType Краткое описание
ip4_address_t AddressType::IPV4_ADDRESS Задает адрес IPv4.
ip6_address_t AddressType::IPV6_ADDRESS Задает адрес IPv6.
dns_address_t AddressType::DNS_NAME Задает строку с общеизвестным именем удаленной стороны, которое подвергается разрешению с помощью сервера доменных имен.
Пример
ip4_address_t ip4addr = {IPV4_ADDRESS, 0xff000001}; //127.0.0.1
IInternetConnectionEndPoint pIP4Connection;
return_code_t err = CreateTCPClient(&ip4addr, 80, &pIP4Connection) noexcept;
if (err < 0)
	std::cerr << "Error " << err << "\n";
else
{
	//...
	pIP4Connection->Release();
}

ip6_address_t ip6addr =
{
	IPV6_ADDRESS,
	{0x8888, 0x2001486048600000}, //2001:4860:4860::8888
	0 // default scope
};
IInternetConnectionEndPoint pIP6Connection;
return_code_t err = CreateTCPClient(&ip6addr, 80, &pIP6Connection) noexcept;
if (err < 0)
	std::cerr << "Error " << err << "\n";
else
{
	//...
	pIP6Connection->Release();
}

const char pszDnsAddr[] = "www.chusov.org";
dns_address_t dns_addr = {DNS_NAME, pszDnsAddr, sizeof(pszDnsAddr) - 1};
IInternetConnectionEndPoint pDomainConnection;
return_code_t err = CreateTCPClient(&dns_addr, 80, &pDomainConnection) noexcept;
if (err < 0)
	std::cerr << "Error " << err << "\n";
else
{
	//...
	pDomainConnection->Release();
}
См. также
CreateTCPServerСоздает TCP-сервер с интерфейсом IInternetConnectionEndPoint.
CreateTCPClientСоздает TCP-клиент с интерфейсом IInternetConnectionEndPoint.