Язык

StreamSocket.ConnectAsync Метод

Определение

Перегрузки

Имя. Описание
ConnectAsync(EndpointPair)

Запускает асинхронную операцию в объекте streamSocket StreamSocket для подключения к удаленному назначению сети, указанному в качестве объекта EndpointPair.

ConnectAsync(EndpointPair, SocketProtectionLevel)

Запускает асинхронную операцию в объекте StreamSocket для подключения к удаленному назначению сети, указанному в качестве объекта EndpointPair и перечисления SocketProtectionLe vel. Этот метод не вызывается из JavaScript.

ConnectAsync(HostName, String)

Запускает асинхронную операцию в объекте StreamSocket для подключения к удаленному назначению сети, заданному именем удаленного узла и именем удаленной службы.

ConnectAsync(HostName, String, SocketProtectionLevel)

Запускает асинхронную операцию в объекте streamSocket для подключения к удаленному назначению, указанному именем удаленного узла, именем удаленной службы и SocketProtectionLevel.

ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)

Запускает асинхронную операцию для объекта StreamSocket на указанном локальном сетевом адаптере для подключения к удаленному назначению, указанному именем удаленного узла, именем удаленной службы и SocketProtectionLevel.

ConnectAsync(EndpointPair)

Запускает асинхронную операцию в объекте streamSocket StreamSocket для подключения к удаленному назначению сети, указанному в качестве объекта EndpointPair.

public:
 virtual IAsyncAction ^ ConnectAsync(EndpointPair ^ endpointPair) = ConnectAsync;
/// [Windows.Foundation.Metadata.Overload("ConnectWithEndpointPairAsync")]
IAsyncAction ConnectAsync(EndpointPair const& endpointPair);
[Windows.Foundation.Metadata.Overload("ConnectWithEndpointPairAsync")]
public IAsyncAction ConnectAsync(EndpointPair endpointPair);
function connectAsync(endpointPair)
Public Function ConnectAsync (endpointPair As EndpointPair) As IAsyncAction

Параметры

endpointPair
EndpointPair

Объект EndpointPair, указывающий имя локального узла или IP-адрес, имя локальной службы или TCP-порт, имя удаленного узла или удаленный IP-адрес, а также имя удаленной службы или удаленный TCP-порт для назначения удаленной сети.

Возвращаемое значение

Асинхронная операция подключения к объекту StreamSocket .

Атрибуты

Требования к Windows

Требования Описание
Возможности приложения
internetClientServer privateNetworkClientServer

Комментарии

Если объект EndpointPair, переданный в параметре endpointPair содержит значение NULL для свойства LocalHostName, система будет предоставлять локальный IP-адрес, который будет использоваться. Если объект endpointPair EndpointPair, переданный в параметре endpointPair, содержит пустую строку для свойства LocalServiceName, система предоставит локальный TCP-порт, который будет использоваться.

В приложении UWP класс StreamSocket поддерживает подключение к удаленной конечной точке, когда прокси-серверы необходимы для завершения подключения. Эта поддержка прокси-серверов является автоматической и прозрачной для приложения. Подключение через прокси-серверы не поддерживается при указании локального адреса узла, поэтому свойство LocalHostName, переданное в параметре endpointPair, должно иметь значение NULL. Дополнительные сведения см. в замечаниях о поддержке прокси-серверов в справочнике по классу StreamSocket StreamSocket.

См. также

Применяется к

ConnectAsync(EndpointPair, SocketProtectionLevel)

Запускает асинхронную операцию в объекте StreamSocket для подключения к удаленному назначению сети, указанному в качестве объекта EndpointPair и перечисления SocketProtectionLe vel. Этот метод не вызывается из JavaScript.

public:
 virtual IAsyncAction ^ ConnectAsync(EndpointPair ^ endpointPair, SocketProtectionLevel protectionLevel) = ConnectAsync;
/// [Windows.Foundation.Metadata.Overload("ConnectWithEndpointPairAndProtectionLevelAsync")]
IAsyncAction ConnectAsync(EndpointPair const& endpointPair, SocketProtectionLevel const& protectionLevel);
[Windows.Foundation.Metadata.Overload("ConnectWithEndpointPairAndProtectionLevelAsync")]
public IAsyncAction ConnectAsync(EndpointPair endpointPair, SocketProtectionLevel protectionLevel);
function connectAsync(endpointPair, protectionLevel)
Public Function ConnectAsync (endpointPair As EndpointPair, protectionLevel As SocketProtectionLevel) As IAsyncAction

Параметры

endpointPair
EndpointPair

Объект EndpointPair, указывающий имя локального узла или IP-адрес, имя локальной службы или TCP-порт, имя удаленного узла или удаленный IP-адрес, а также имя удаленной службы или удаленный TCP-порт для удаленного назначения сети.

protectionLevel
SocketProtectionLevel

Уровень защиты, представляющий целостность и шифрование объекта StreamSocket.

Возвращаемое значение

Асинхронная операция подключения к объекту StreamSocket .

Атрибуты

Требования к Windows

Требования Описание
Возможности приложения
internetClientServer privateNetworkClientServer

Комментарии

Если объект EndpointPair, переданный в параметре endpointPair содержит значение NULL для свойства LocalHostName, система будет предоставлять локальный IP-адрес, который будет использоваться. Если объект endpointPair EndpointPair, переданный в параметре endpointPair, содержит пустую строку для свойства LocalServiceName, система предоставит локальный TCP-порт, который будет использоваться.

Если объект endpointPair EndpointPair, переданный в параметре конечной точки , содержит значение NULL для свойства LocalServiceName, возникнет ошибка.

Метод [ConnectAsync(EndpointPair, SocketProtectionLevel) не предоставляется в JavaScript. Этот метод нельзя вызвать из JavaScript, так как он имеет то же количество аргументов, что и метод ConnectAsync(HostName, String).

Приложения, написанные на JavaScript, не могут подключать StreamSocket с помощью EndpointPair с помощью SSL напрямую. Чтобы подключить EndpointPair с помощью SSL, приложения JavaScript могут использовать следующий код.

var clientSocket = new Windows.Networking.Sockets.StreamSocket();
var remoteName = new Windows.Networking.HostName("www.contoso.com");
var myEndpointPair = EndpointPair();

// Set properties needed on the EndpointPair
// We only set remote properties and the localServiceName,
// But the localHostName could also be set

myEndpointPair.localServiceName = "12345";
myEndpointPair.remoteHostName = remoteName;
myEndpointPair.remoteServiceName = "http";

// First connect the socket without SSL
clientSocket.connectAsync(myEendpointPair>).then(function () {
    // Now upgrade the connection to SSL
    clientSocket.upgradeToSslAsync(SocketProtectionLevel.Ssl).then(function () {
        // now connected using SSL
    }
}   

Если параметр protectionLevel имеет значение, требующее SSL или TLS, операция подключения сокета может не истекать, если удаленная конечная точка не поддерживает ПРОТОКОЛ SSL или TLS. Это может произойти, если начальная операция подключения завершается успешно, но удаленная конечная точка не завершает подключение во время подтверждения SSL. Чтобы защититься от этой ситуации, приложение должно задать время ожидания для операции подключения при запросе SSL/TLS и прервать операцию, если истекает время ожидания. Дополнительные сведения о настройке времени ожидания с помощью JavaScript для операций сокета см. в статье Настройка времени ожидания для операций сокета . Дополнительные сведения о настройке времени ожидания с помощью VB, C#или C++ в операциях сокета см. в разделе Настройка времени ожидания для операций сокета .

В приложении UWP класс StreamSocket поддерживает подключение к удаленной конечной точке, когда прокси-серверы необходимы для завершения подключения. Эта поддержка прокси-серверов является автоматической и прозрачной для приложения. Подключение через прокси-серверы не поддерживается при указании локального адреса узла, поэтому свойство LocalHostName, переданное в параметре endpointPair, должно иметь значение NULL. Дополнительные сведения см. в замечаниях о поддержке прокси-серверов в справочнике по классу StreamSocket StreamSocket.

См. также

Применяется к

ConnectAsync(HostName, String)

Запускает асинхронную операцию в объекте StreamSocket для подключения к удаленному назначению сети, заданному именем удаленного узла и именем удаленной службы.

public:
 virtual IAsyncAction ^ ConnectAsync(HostName ^ remoteHostName, Platform::String ^ remoteServiceName) = ConnectAsync;
/// [Windows.Foundation.Metadata.DefaultOverload]
/// [Windows.Foundation.Metadata.Overload("ConnectAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction ConnectAsync(HostName const& remoteHostName, winrt::hstring const& remoteServiceName);
[Windows.Foundation.Metadata.DefaultOverload]
[Windows.Foundation.Metadata.Overload("ConnectAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction ConnectAsync(HostName remoteHostName, string remoteServiceName);
function connectAsync(remoteHostName, remoteServiceName)
Public Function ConnectAsync (remoteHostName As HostName, remoteServiceName As String) As IAsyncAction

Параметры

remoteHostName
HostName

Имя узла или IP-адрес назначения удаленной сети. Для Bluetooth RFCOMM это MAC-адрес.

remoteServiceName
String

Platform::String

winrt::hstring

Имя службы или номер TCP-порта для назначения удаленной сети. Для Bluetooth RFCOMM это адрес Bluetooth.

Возвращаемое значение

Асинхронная операция подключения к объекту StreamSocket .

Атрибуты

Требования к Windows

Требования Описание
Возможности приложения
internetClientServer privateNetworkClientServer

Комментарии

Необходимо указать параметры remoteHostName и remoteServiceName. Если remoteHostName имеет значение NULL или remoteServiceName имеет значение NULL или пустая строка, возникнет ошибка.

В приложении UWP класс StreamSocket поддерживает подключение к удаленной конечной точке, когда прокси-серверы необходимы для завершения подключения. Эта поддержка прокси-серверов является автоматической и прозрачной для приложения. Дополнительные сведения см. в замечаниях о поддержке прокси-серверов в справочнике по классу StreamSocket StreamSocket.

См. также

Применяется к

ConnectAsync(HostName, String, SocketProtectionLevel)

Запускает асинхронную операцию в объекте streamSocket для подключения к удаленному назначению, указанному именем удаленного узла, именем удаленной службы и SocketProtectionLevel.

public:
 virtual IAsyncAction ^ ConnectAsync(HostName ^ remoteHostName, Platform::String ^ remoteServiceName, SocketProtectionLevel protectionLevel) = ConnectAsync;
/// [Windows.Foundation.Metadata.Overload("ConnectWithProtectionLevelAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction ConnectAsync(HostName const& remoteHostName, winrt::hstring const& remoteServiceName, SocketProtectionLevel const& protectionLevel);
[Windows.Foundation.Metadata.Overload("ConnectWithProtectionLevelAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction ConnectAsync(HostName remoteHostName, string remoteServiceName, SocketProtectionLevel protectionLevel);
function connectAsync(remoteHostName, remoteServiceName, protectionLevel)
Public Function ConnectAsync (remoteHostName As HostName, remoteServiceName As String, protectionLevel As SocketProtectionLevel) As IAsyncAction

Параметры

remoteHostName
HostName

Имя узла или IP-адрес назначения удаленной сети. Для Bluetooth RFCOMM это MAC-адрес.

remoteServiceName
String

Platform::String

winrt::hstring

Имя службы или номер TCP-порта для назначения удаленной сети. Для Bluetooth RFCOMM это адрес Bluetooth.

protectionLevel
SocketProtectionLevel

Уровень защиты, представляющий целостность и шифрование объекта StreamSocket.

Возвращаемое значение

Асинхронная операция подключения к объекту StreamSocket .

Атрибуты

Требования к Windows

Требования Описание
Возможности приложения
internetClientServer privateNetworkClientServer

Комментарии

Необходимо указать параметры remoteHostName и remoteServiceName. Если remoteHostName имеет значение NULL или remoteServiceName имеет значение NULL или пустая строка, возникнет ошибка.

Если параметр protectionLevel имеет значение, требующее SSL или TLS, операция подключения сокета может не истекать, если назначение удаленной сети не поддерживает ПРОТОКОЛ SSL или TLS. Это может произойти, если начальная операция подключения завершается успешно, но удаленный узел не завершает подключение во время подтверждения SSL. Чтобы защититься от этой ситуации, приложение должно задать время ожидания для операции подключения при запросе SSL/TLS и прервать операцию, если истекает время ожидания. Дополнительные сведения о настройке времени ожидания с помощью JavaScript для операций сокета см. в статье Настройка времени ожидания для операций сокета . Дополнительные сведения о настройке времени ожидания с помощью VB, C#или C++ в операциях сокета см. в разделе Настройка времени ожидания для операций сокета .

В приложении UWP класс StreamSocket поддерживает подключение к удаленной конечной точке, когда прокси-серверы необходимы для завершения подключения. Эта поддержка прокси-серверов является автоматической и прозрачной для приложения. Дополнительные сведения см. в замечаниях о поддержке прокси-серверов в справочнике по классу StreamSocket StreamSocket.

См. также

Применяется к

ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)

Запускает асинхронную операцию для объекта StreamSocket на указанном локальном сетевом адаптере для подключения к удаленному назначению, указанному именем удаленного узла, именем удаленной службы и SocketProtectionLevel.

public:
 virtual IAsyncAction ^ ConnectAsync(HostName ^ remoteHostName, Platform::String ^ remoteServiceName, SocketProtectionLevel protectionLevel, NetworkAdapter ^ adapter) = ConnectAsync;
/// [Windows.Foundation.Metadata.Overload("ConnectWithProtectionLevelAndAdapterAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction ConnectAsync(HostName const& remoteHostName, winrt::hstring const& remoteServiceName, SocketProtectionLevel const& protectionLevel, NetworkAdapter const& adapter);
[Windows.Foundation.Metadata.Overload("ConnectWithProtectionLevelAndAdapterAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction ConnectAsync(HostName remoteHostName, string remoteServiceName, SocketProtectionLevel protectionLevel, NetworkAdapter adapter);
function connectAsync(remoteHostName, remoteServiceName, protectionLevel, adapter)
Public Function ConnectAsync (remoteHostName As HostName, remoteServiceName As String, protectionLevel As SocketProtectionLevel, adapter As NetworkAdapter) As IAsyncAction

Параметры

remoteHostName
HostName

Имя узла или IP-адрес назначения удаленной сети. Для Bluetooth RFCOMM это MAC-адрес.

remoteServiceName
String

Platform::String

winrt::hstring

Имя службы или номер TCP-порта для назначения удаленной сети. Для Bluetooth RFCOMM это адрес Bluetooth.

protectionLevel
SocketProtectionLevel

Уровень защиты, представляющий целостность и шифрование объекта StreamSocket.

adapter
NetworkAdapter

Локальный сетевой адаптер, используемый для операции подключения в объекте StreamSocket.

Возвращаемое значение

Асинхронная операция подключения к объекту StreamSocket .

Атрибуты

Комментарии

Метод [ConnectAsync(Host name, String, SocketProtectionLevel, NetworkAdapter) привязывается к сетевому интерфейсу, указанному в параметре адаптера на локальном компьютере, а также имя удаленного узла и имя службы, указанное в параметре remoteHostName и remoteServiceName с уровнем защиты, указанным в параметре protectionLevel.

Необходимо указать параметры remoteHostName и remoteServiceName. Если remoteHostName null или значение remoteServiceName равно null или пустую строку, возникнет ошибка. Если параметр адаптера null, возникнет ошибка.

Механизм разрешения имен, используемый методом [ConnectAsync(Hostname, String, SocketProtectionLevel, NetworkAdapter), ограничен указанным интерфейсом для пространства имен системы доменных имен (DNS).

Использование указанного сетевого адаптера осуществляется на основе наилучших усилий. Системы с адаптерами, настроенными в режимах слабого узла или пересылки, могут использовать адаптер, отличный от указанного адаптера.

Если параметр protectionLevel имеет значение, требующее SSL или TLS, операция подключения сокета может не истекать, если назначение удаленной сети не поддерживает ПРОТОКОЛ SSL или TLS. Это может произойти, если начальная операция подключения завершается успешно, но удаленный узел не завершает подключение во время подтверждения SSL. Чтобы защититься от этой ситуации, приложение должно задать время ожидания для операции подключения при запросе SSL/TLS и прервать операцию, если истекает время ожидания. Дополнительные сведения о настройке времени ожидания с помощью JavaScript для операций сокета см. в статье Настройка времени ожидания для операций сокета . Дополнительные сведения о настройке времени ожидания с помощью VB, C#или C++ в операциях сокета см. в разделе Настройка времени ожидания для операций сокета .

Приложение может получить допустимый NetworkAdapter, проверяя экземпляр HostName (используя метод NetworkInformation.GetHostNames) и извлекая объект IPInformation из свойства Hostname.IPInformation. Свойство IPInformation.NetworkAdapter можно использовать для получения связанной NetworkAdapter.

В приложении UWP класс StreamSocket поддерживает подключение к удаленной конечной точке, когда прокси-серверы необходимы для завершения подключения. Эта поддержка прокси-серверов является автоматической и прозрачной для приложения. Однако подключение через прокси-серверы не поддерживается при выборе определенного сетевого адаптера. Поэтому поддержка прокси-сервера отключена при использовании метода [ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter). Дополнительные сведения см. в замечаниях о поддержке прокси-серверов в справочнике по классу StreamSocket StreamSocket.

См. также

Применяется к