Idioma

StreamSocket.ConnectAsync Método

Definição

Sobrecargas

Nome Description
ConnectAsync(EndpointPair)

Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino de rede remoto especificado como um objeto EndpointPair .

ConnectAsync(EndpointPair, SocketProtectionLevel)

Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino de rede remoto especificado como um objeto EndpointPair e uma enumeração SocketProtectionLevel . Esse método não pode ser chamado do JavaScript.

ConnectAsync(HostName, String)

Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino de rede remoto especificado por um nome de host remoto e um nome de serviço remoto.

ConnectAsync(HostName, String, SocketProtectionLevel)

Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino remoto especificado por um nome de host remoto, um nome de serviço remoto e um SocketProtectionLevel.

ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)

Inicia uma operação assíncrona em um objeto StreamSocket em um adaptador de rede local especificado para se conectar a um destino remoto especificado por um nome de host remoto, um nome de serviço remoto e um SocketProtectionLevel.

ConnectAsync(EndpointPair)

Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino de rede remoto especificado como um objeto 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

Parâmetros

endpointPair
EndpointPair

Um objeto EndpointPair que especifica o nome do host local ou o endereço IP, o nome do serviço local ou a porta TCP, o nome do host remoto ou o endereço IP remoto e o nome do serviço remoto ou a porta TCP remota para o destino de rede remota.

Retornos

Uma operação de conexão assíncrona em um objeto StreamSocket .

Atributos

Requisitos do Windows

Requisitos Description
Funcionalidades do aplicativo
internetClientServer privateNetworkClientServer

Comentários

Se o objeto EndpointPair passado no parâmetro endpointPair contiver nulo para a propriedade LocalHostName , o sistema fornecerá o endereço IP local que será usado. Se o objeto EndpointPair passado no parâmetro endpointPair contiver uma cadeia de caracteres vazia para a propriedade LocalServiceName , o sistema fornecerá a porta TCP local que será usada.

Em um aplicativo UWP, a classe StreamSocket dá suporte à conexão a um ponto de extremidade remoto quando os proxies são necessários para concluir a conexão. Esse suporte para proxies é automático e transparente para o aplicativo. Não há suporte para a conexão por meio de proxies quando um endereço de host local é especificado, portanto, a propriedade LocalHostName passada no parâmetro endpointPair deve ser nula. Para obter informações mais detalhadas, consulte as observações sobre o suporte para proxies na referência da classe StreamSocket .

Confira também

Aplica-se a

ConnectAsync(EndpointPair, SocketProtectionLevel)

Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino de rede remoto especificado como um objeto EndpointPair e uma enumeração SocketProtectionLevel . Esse método não pode ser chamado do 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

Parâmetros

endpointPair
EndpointPair

Um objeto EndpointPair que especifica o nome do host local ou endereço IP, o nome do serviço local ou a porta TCP, o nome do host remoto ou o endereço IP remoto e o nome do serviço remoto ou a porta TCP remota para o destino de rede remota.

protectionLevel
SocketProtectionLevel

O nível de proteção que representa a integridade e a criptografia de um objeto StreamSocket .

Retornos

Uma operação de conexão assíncrona em um objeto StreamSocket .

Atributos

Requisitos do Windows

Requisitos Description
Funcionalidades do aplicativo
internetClientServer privateNetworkClientServer

Comentários

Se o objeto EndpointPair passado no parâmetro endpointPair contiver nulo para a propriedade LocalHostName , o sistema fornecerá o endereço IP local que será usado. Se o objeto EndpointPair passado no parâmetro endpointPair contiver uma cadeia de caracteres vazia para a propriedade LocalServiceName , o sistema fornecerá a porta TCP local que será usada.

Se o objeto EndpointPair passado no parâmetro endpointPair contiver nulo para a propriedade LocalServiceName , ocorrerá um erro.

O método [ConnectAsync(EndpointPair, SocketProtectionLevel) não é exposto em JavaScript. Esse método não pode ser chamado do JavaScript, pois tem o mesmo número de argumentos que o método ConnectAsync(HostName, String ).

Os aplicativos escritos em JavaScript não podem conectar um StreamSocket usando um EndpointPair usando SSL diretamente. Para conectar um EndpointPair usando SSL, os aplicativos JavaScript podem usar o código a seguir.

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
    }
}   

Quando o parâmetro protectionLevel é definido como um valor que requer SSL ou TLS, a operação de conexão de soquete pode não ter tempo limite se o ponto de extremidade remoto não der suporte a SSL ou TLS. Isso pode ocorrer se a operação de conexão inicial for bem-sucedida, mas o ponto de extremidade remoto não encerrar a conexão durante o handshake SSL. Para se proteger contra essa situação, um aplicativo deve definir um tempo limite na operação de conexão ao solicitar SSL/TLS e anular a operação se o tempo limite expirar. Para obter mais informações sobre como definir um tempo limite usando JavaScript em operações de soquete, consulte Como definir tempos limite em operações de soquete . Para obter mais informações sobre como definir um tempo limite usando VB, C#ou C++ em operações de soquete, consulte Como definir tempos limite em operações de soquete .

Em um aplicativo UWP, a classe StreamSocket dá suporte à conexão a um ponto de extremidade remoto quando os proxies são necessários para concluir a conexão. Esse suporte para proxies é automático e transparente para o aplicativo. Não há suporte para a conexão por meio de proxies quando um endereço de host local é especificado, portanto, a propriedade LocalHostName passada no parâmetro endpointPair deve ser nula. Para obter informações mais detalhadas, consulte as observações sobre o suporte para proxies na referência da classe StreamSocket .

Confira também

Aplica-se a

ConnectAsync(HostName, String)

Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino de rede remoto especificado por um nome de host remoto e um nome de serviço remoto.

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

Parâmetros

remoteHostName
HostName

O nome do host ou o endereço IP do destino de rede remota. Para Bluetooth RFCOMM, este é um endereço MAC.

remoteServiceName
String

Platform::String

winrt::hstring

O nome do serviço ou o número da porta TCP do destino de rede remota. Para Bluetooth RFCOMM, este é o endereço Bluetooth.

Retornos

Uma operação de conexão assíncrona em um objeto StreamSocket .

Atributos

Requisitos do Windows

Requisitos Description
Funcionalidades do aplicativo
internetClientServer privateNetworkClientServer

Comentários

Os parâmetros remoteHostName e remoteServiceName devem ser fornecidos. Se o remoteHostName for nulo ou o remoteServiceName for nulo ou uma cadeia de caracteres vazia, ocorrerá um erro.

Em um aplicativo UWP, a classe StreamSocket dá suporte à conexão a um ponto de extremidade remoto quando os proxies são necessários para concluir a conexão. Esse suporte para proxies é automático e transparente para o aplicativo. Para obter informações mais detalhadas, consulte as observações sobre o suporte para proxies na referência da classe StreamSocket .

Confira também

Aplica-se a

ConnectAsync(HostName, String, SocketProtectionLevel)

Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino remoto especificado por um nome de host remoto, um nome de serviço remoto e um 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

Parâmetros

remoteHostName
HostName

O nome do host ou o endereço IP do destino de rede remota. Para Bluetooth RFCOMM, este é um endereço MAC.

remoteServiceName
String

Platform::String

winrt::hstring

O nome do serviço ou o número da porta TCP do destino de rede remota. Para Bluetooth RFCOMM, este é o endereço Bluetooth.

protectionLevel
SocketProtectionLevel

O nível de proteção que representa a integridade e a criptografia do objeto StreamSocket .

Retornos

Uma operação de conexão assíncrona em um objeto StreamSocket .

Atributos

Requisitos do Windows

Requisitos Description
Funcionalidades do aplicativo
internetClientServer privateNetworkClientServer

Comentários

Os parâmetros remoteHostName e remoteServiceName devem ser fornecidos. Se o remoteHostName for nulo ou o remoteServiceName for nulo ou uma cadeia de caracteres vazia, ocorrerá um erro.

Quando o parâmetro protectionLevel é definido como um valor que requer SSL ou TLS, a operação de conexão de soquete poderá não ter tempo limite se o destino de rede remota não der suporte a SSL ou TLS. Isso pode ocorrer se a operação de conexão inicial for bem-sucedida, mas o host remoto não encerrar a conexão durante o handshake SSL. Para se proteger contra essa situação, um aplicativo deve definir um tempo limite na operação de conexão ao solicitar SSL/TLS e anular a operação se o tempo limite expirar. Para obter mais informações sobre como definir um tempo limite usando JavaScript em operações de soquete, consulte Como definir tempos limite em operações de soquete . Para obter mais informações sobre como definir um tempo limite usando VB, C#ou C++ em operações de soquete, consulte Como definir tempos limite em operações de soquete .

Em um aplicativo UWP, a classe StreamSocket dá suporte à conexão a um ponto de extremidade remoto quando os proxies são necessários para concluir a conexão. Esse suporte para proxies é automático e transparente para o aplicativo. Para obter informações mais detalhadas, consulte as observações sobre o suporte para proxies na referência da classe StreamSocket .

Confira também

Aplica-se a

ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)

Inicia uma operação assíncrona em um objeto StreamSocket em um adaptador de rede local especificado para se conectar a um destino remoto especificado por um nome de host remoto, um nome de serviço remoto e um 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

Parâmetros

remoteHostName
HostName

O nome do host ou o endereço IP do destino de rede remota. Para Bluetooth RFCOMM, este é um endereço MAC.

remoteServiceName
String

Platform::String

winrt::hstring

O nome do serviço ou o número da porta TCP do destino de rede remota. Para Bluetooth RFCOMM, este é o endereço Bluetooth.

protectionLevel
SocketProtectionLevel

O nível de proteção que representa a integridade e a criptografia do objeto StreamSocket .

adapter
NetworkAdapter

O adaptador de rede local a ser usado para a operação de conexão no objeto StreamSocket .

Retornos

Uma operação de conexão assíncrona em um objeto StreamSocket .

Atributos

Comentários

O método [ConnectAsync(Hostname, String, SocketProtectionLevel, NetworkAdapter) associa-se a uma interface de rede especificada no parâmetro do adaptador no computador local e ao nome do host e do serviço remoto especificados nos parâmetros remoteHostName e remoteServiceName com o nível de proteção especificado no parâmetro protectionLevel .

Os parâmetros remoteHostName e remoteServiceName devem ser fornecidos. Se o remoteHostName for nulo ou o remoteServiceName for nulo ou uma cadeia de caracteres vazia, ocorrerá um erro. Se o parâmetro do adaptador for nulo, ocorrerá um erro.

O mecanismo de resolução de nomes usado pelo método [ConnectAsync(Hostname, String, SocketProtectionLevel, NetworkAdapter) é limitado à interface especificada para o namespace DNS (sistema de nomes de domínio).

Usar o adaptador de rede especificado é uma base de melhor esforço. Sistemas com adaptadores configurados em modos de host fraco ou encaminhamento podem usar um adaptador diferente do adaptador especificado.

Quando o parâmetro protectionLevel é definido como um valor que requer SSL ou TLS, a operação de conexão de soquete poderá não ter tempo limite se o destino de rede remota não der suporte a SSL ou TLS. Isso pode ocorrer se a operação de conexão inicial for bem-sucedida, mas o host remoto não encerrar a conexão durante o handshake SSL. Para se proteger contra essa situação, um aplicativo deve definir um tempo limite na operação de conexão ao solicitar SSL/TLS e anular a operação se o tempo limite expirar. Para obter mais informações sobre como definir um tempo limite usando JavaScript em operações de soquete, consulte Como definir tempos limite em operações de soquete . Para obter mais informações sobre como definir um tempo limite usando VB, C#ou C++ em operações de soquete, consulte Como definir tempos limite em operações de soquete .

Um aplicativo pode recuperar um NetworkAdapter válido inspecionando uma instância de HostName (usando o método NetworkInformation.GetHostNames , por exemplo) e recuperando o objeto IPInformation da propriedade Hostname.IPInformation . A propriedade IPInformation.NetworkAdapter pode ser usada para recuperar o NetworkAdapter associado.

Em um aplicativo UWP, a classe StreamSocket dá suporte à conexão a um ponto de extremidade remoto quando os proxies são necessários para concluir a conexão. Esse suporte para proxies é automático e transparente para o aplicativo. No entanto, não há suporte para a conexão por meio de proxies quando um adaptador de rede específico é selecionado. Portanto, o suporte a proxy é desabilitado quando o método [ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter) é usado. Para obter informações mais detalhadas, consulte as observações sobre o suporte para proxies na referência da classe StreamSocket .

Confira também

Aplica-se a