CreateTCPServer: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin | return_code_t CreateTCPServer(const remote_address_t* pReceiveFromAddress, std::uint16_t nPortLE, IInternetConnectionEndPoint** ppCP) noexcept;…»)
 
Строка 39: Строка 39:
{{function_paramlist end}}
{{function_paramlist end}}
{{function_return_value|32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.}}
{{function_return_value|32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.}}
{{function_sa_begin}}
{{function_sa_add|[[CreateTCPClient]]}}
{{function_sa_add|[[make_tcp_server]]}}
{{function_sa_end}}
{{function_end}}
{{function_end}}

Версия 23:41, 5 июня 2017

 return_code_t CreateTCPServer(const remote_address_t* pReceiveFromAddress, std::uint16_t nPortLE, IInternetConnectionEndPoint** ppCP) noexcept;

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

Параметры
[in]pReceiveFromAddressОпциональный адрес удаленного узла, которому разрешено подключение к серверу. Если адрес не задан, подключение разрешено всем. Адрес задается приведенным указателем на одну из следующих структур.
  • Если адрес определен символическим именем, которое требуется разрешить обращением к серверу доменных имен, структура имеет следующий вид.
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-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.
См. также
CreateTCPClient
make_tcp_server