Make tcp client: различия между версиями
Перейти к навигации
Перейти к поиску
Параметры
Возвращаемое значение: Объект InternetConnectionEndPointOwn, реализующий точку доступа к серверу.
См. также
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:make_tcp_client}} | {{DISPLAYTITLE:make_tcp_client}} | ||
{{function_begin |template <class traits_t, class alloc_t> | {{function_begin |template <class traits_t, class alloc_t> | ||
InternetConnectionEndPointOwn make_tcp_client(const std::basic_string<char, traits_t, alloc_t>& strServerAddress, std::uint16_t nPortLE); //1 | |||
InternetConnectionEndPointOwn make_tcp_client(const char* pszServerAddress, std::uint16_t nPortLE); //2 | |||
InternetConnectionEndPointOwn make_tcp_client(const char* pServerAddress, std::size_t cchServerAddress, std::uint16_t nPortLE); //3 | |||
InternetConnectionEndPointOwn make_tcp_client(const ip4_address_t& ip4, std::uint16_t nPortLE); //4 | |||
InternetConnectionEndPointOwn make_tcp_client(std::uint32_t nServerAddressLE, std::uint16_t nPortLE); //5 | |||
InternetConnectionEndPointOwn make_tcp_client(const ip6_address_t& ip6, std::uint16_t nPortLE); //6 | |||
InternetConnectionEndPointOwn make_tcp_client(const std::uint8_t* pServerAddressLE, std::uint32_t nScopeLE, std::uint16_t nPortLE); //7|{{make_tcp_client brief}} | |||
# Адрес задается строкой [https://en.cppreference.com/w/cpp/string/basic_string std::basic_string]. | |||
# Адрес задается C-строкой, завершающейся терминальным нулем. | |||
# Адрес задается строкой байт заданной длины и без терминального нуля. | |||
# Адрес задается IPv4 адресом, заданным с помощью структуры [[ip4_address_t]]. | |||
# Адрес задается IPv4 адресом, заданным четырехбайтовым целым в формате Little-Endian. Данная перегрузка менее предпочтительна по сравнению с более удобной в использовании связкой функции [[make_ip4_address]] и перегрузки 4, что реализует автоматическое форматирование и статический контроль типа адреса. | |||
# Адрес задается IPv6 адресом, заданным с помощью структуры [[ip6_address_t]]. | |||
# Адрес задается IPv6 адресом, заданным указателем на буфер из шестнадцати байт в формате Little-Endian. Данная перегрузка менее предпочтительна по сравнению с более удобной в использовании связкой функции [[make_ip6_address]] и перегрузки 6, что реализует автоматическое форматирование и статический контроль типа адреса.}} | |||
{{function_paramlist begin}} | {{function_paramlist begin}} | ||
{{function_paramlist add|strServerAddress| | {{function_paramlist add|strServerAddress|Строка [https://en.cppreference.com/w/cpp/string/basic_string std::basic_string] с адресом сервера, к которому необходимо подключиться.}} | ||
{{function_paramlist add| | {{function_paramlist add|pszServerAddress|C-строка с терминальным нулем, содержащая адрес сервера.|paramdir=[in]}} | ||
{{function_paramlist add|pServerAddress| | | {{function_paramlist add|pServerAddress|Строка с адресом сервера. Длина строки задается параметром {{param|cchServerAddress}}.|paramdir=[in]}} | ||
{{function_paramlist add|nServerAddressLE| | {{function_paramlist add|cchServerAddress|Длина строки {{param|pServerAddress}} в байтах.}} | ||
{{function_paramlist add| | {{function_paramlist add|ip4|Ссылка на структуру [ip4_address_t]] с IPv4 адресом сервера.}} | ||
{{function_paramlist add| | {{function_paramlist add|nServerAddressLE|Четырехбайтовое целое, задающее в Little-Endian формате IPv4 адрес удаленного сервера. Вместо вызова перегрузки 5 предпочтительно использование перегрузки 4 и вспомогательной функции [[make_ip4_address]]. При таком создании соединения осуществляется контроль форматирования IPv4 адреса, заданного побайтово, со статическим контролем типа адреса.}} | ||
{{function_paramlist add|nPortLE|16-битовый порт в Little-Endian формате.}} | {{function_paramlist add|ip6|Ссылка на структуру [ip6_address_t]] с IPv6 адресом сервера.}} | ||
{{function_paramlist add|pServerAddressLE|Четырехбайтовое целое, задающее в Little-Endian формате IPv4 адрес удаленного сервера. Вместо вызова перегрузки 5 предпочтительно использование перегрузки 4 и вспомогательной функции [[make_ip4_address]]. При таком создании соединения осуществляется контроль форматирования IPv6 адреса, заданного покомпонентно, со статическим контролем типа адреса.}} | |||
{{function_paramlist add|nPortLE|16-битовый порт сервера в Little-Endian формате.}} | |||
{{function_paramlist add|nScopeLE|Контекст IPv6.}} | {{function_paramlist add|nScopeLE|Контекст IPv6.}} | ||
{{function_paramlist end}} | {{function_paramlist end}} | ||
{{function_return_value|Объект [[InternetConnectionEndPointOwn]].}} | {{function_return_value|Объект [[InternetConnectionEndPointOwn]], реализующий точку доступа к серверу.}} | ||
{{function_sa_begin}} | {{function_sa_begin}} | ||
{{function_sa_add|[[CreateTCPClient]]}} | {{function_sa_add|[[CreateTCPClient]]|{{CreateTCPClient brief}}}} | ||
{{function_sa_add|[[make_tcp_server]]}} | {{function_sa_add|[[make_tcp_server]]|{{make_tcp_server brief}}}} | ||
{{function_sa_add|[[ | {{function_sa_add|[[make_multipoint_tcp_server]]|{{make_multipoint_tcp_server brief}}}} | ||
{{function_sa_add|[[make_ip4_address]]|{{make_ip4_address brief}}}} | |||
{{function_sa_add|[[make_ip6_address]]|{{make_ip6_address brief}}}} | |||
{{function_sa_end}} | {{function_sa_end}} | ||
{{function_end}} | {{function_end}} | ||
Вызов функции не блокирует вызывающий поток выполнения: непосредственно TCP соединение, с рукопожатием, осуществляется при первой попытке чтения или записи через клиентскую точку доступа. |
Версия 00:32, 20 августа 2019
template <class traits_t, class alloc_t>
InternetConnectionEndPointOwn make_tcp_client(const std::basic_string<char, traits_t, alloc_t>& strServerAddress, std::uint16_t nPortLE); //1
InternetConnectionEndPointOwn make_tcp_client(const char* pszServerAddress, std::uint16_t nPortLE); //2
InternetConnectionEndPointOwn make_tcp_client(const char* pServerAddress, std::size_t cchServerAddress, std::uint16_t nPortLE); //3
InternetConnectionEndPointOwn make_tcp_client(const ip4_address_t& ip4, std::uint16_t nPortLE); //4
InternetConnectionEndPointOwn make_tcp_client(std::uint32_t nServerAddressLE, std::uint16_t nPortLE); //5
InternetConnectionEndPointOwn make_tcp_client(const ip6_address_t& ip6, std::uint16_t nPortLE); //6
InternetConnectionEndPointOwn make_tcp_client(const std::uint8_t* pServerAddressLE, std::uint32_t nScopeLE, std::uint16_t nPortLE); //7
Создает клиентскую точку-доступа и его соединение с сервером.
- Адрес задается строкой std::basic_string.
- Адрес задается C-строкой, завершающейся терминальным нулем.
- Адрес задается строкой байт заданной длины и без терминального нуля.
- Адрес задается IPv4 адресом, заданным с помощью структуры ip4_address_t.
- Адрес задается IPv4 адресом, заданным четырехбайтовым целым в формате Little-Endian. Данная перегрузка менее предпочтительна по сравнению с более удобной в использовании связкой функции make_ip4_address и перегрузки 4, что реализует автоматическое форматирование и статический контроль типа адреса.
- Адрес задается IPv6 адресом, заданным с помощью структуры ip6_address_t.
- Адрес задается IPv6 адресом, заданным указателем на буфер из шестнадцати байт в формате Little-Endian. Данная перегрузка менее предпочтительна по сравнению с более удобной в использовании связкой функции make_ip6_address и перегрузки 6, что реализует автоматическое форматирование и статический контроль типа адреса.
strServerAddress | Строка std::basic_string с адресом сервера, к которому необходимо подключиться. | |
[in] | pszServerAddress | C-строка с терминальным нулем, содержащая адрес сервера. |
[in] | pServerAddress | Строка с адресом сервера. Длина строки задается параметром cchServerAddress. |
cchServerAddress | Длина строки pServerAddress в байтах. | |
ip4 | Ссылка на структуру [ip4_address_t]] с IPv4 адресом сервера. | |
nServerAddressLE | Четырехбайтовое целое, задающее в Little-Endian формате IPv4 адрес удаленного сервера. Вместо вызова перегрузки 5 предпочтительно использование перегрузки 4 и вспомогательной функции make_ip4_address. При таком создании соединения осуществляется контроль форматирования IPv4 адреса, заданного побайтово, со статическим контролем типа адреса. | |
ip6 | Ссылка на структуру [ip6_address_t]] с IPv6 адресом сервера. | |
pServerAddressLE | Четырехбайтовое целое, задающее в Little-Endian формате IPv4 адрес удаленного сервера. Вместо вызова перегрузки 5 предпочтительно использование перегрузки 4 и вспомогательной функции make_ip4_address. При таком создании соединения осуществляется контроль форматирования IPv6 адреса, заданного покомпонентно, со статическим контролем типа адреса. | |
nPortLE | 16-битовый порт сервера в Little-Endian формате. | |
nScopeLE | Контекст IPv6. |
CreateTCPClient | Создает TCP-клиент с интерфейсом IInternetConnectionEndPoint. |
make_tcp_server | Создает серверную точку-доступа. |
make_multipoint_tcp_server | Создает серверную точку-доступа с заданным параметрически размером очереди TCP подключений. |
make_ip4_address | Форматирует заданные параметрически четыре байта адреса IPv4 и создает на их основе адрес в формате ip4_address_t. |
make_ip6_address | Форматирует заданные параметрически 16-битные компоненты адреса IPv6 и создает на их основе адрес в формате ip6_address_t. |
Вызов функции не блокирует вызывающий поток выполнения: непосредственно TCP соединение, с рукопожатием, осуществляется при первой попытке чтения или записи через клиентскую точку доступа.