StreamSocket.ConnectAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
ConnectAsync(EndpointPair) |
Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino de rede remota 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 remota 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 remota 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
Funcionalidades do aplicativo |
ID_CAP_NETWORKING [Windows Phone]
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 .
Em um aplicativo Windows Phone 8.x, a classe StreamSocket não fornece suporte automático para proxies.
Confira também
- ConnectAsync(HostName, String)
- ConnectAsync(EndpointPair, SocketProtectionLevel)
- ConnectAsync(HostName, String, SocketProtectionLevel)
- ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)
- EndpointPair
- Como definir tempos limite em operações de soquete
- Como definir tempos limite em operações de soquete
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
Funcionalidades do aplicativo |
ID_CAP_NETWORKING [Windows Phone]
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 ele 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 o 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 atingir o tempo limite se o ponto de extremidade remoto não oferecer 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 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 .
Em um aplicativo Windows Phone 8.x, a classe StreamSocket não fornece suporte automático para proxies.
Confira também
- ConnectAsync(EndpointPair)
- ConnectAsync(HostName, String)
- ConnectAsync(HostName, String, SocketProtectionLevel)
- ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)
- EndpointPair
- SocketProtectionLevel
- Como definir tempos limite em operações de soquete
- Como definir tempos limite em operações de soquete
Aplica-se a
ConnectAsync(HostName, String)
Inicia uma operação assíncrona em um objeto StreamSocket para se conectar a um destino de rede remota 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 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, esse é o endereço Bluetooth.
Retornos
Uma operação de conexão assíncrona em um objeto StreamSocket .
- Atributos
Requisitos do Windows
Funcionalidades do aplicativo |
ID_CAP_NETWORKING [Windows Phone]
internetClientServer
privateNetworkClientServer
|
Comentários
Os parâmetros remoteHostName e remoteServiceName devem ser fornecidos. Se remoteHostName for nulo ou 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 .
Em um aplicativo Windows Phone 8.x, a classe StreamSocket não fornece suporte automático para proxies.
Confira também
- ConnectAsync(EndpointPair)
- ConnectAsync(EndpointPair, SocketProtectionLevel)
- ConnectAsync(HostName, String, SocketProtectionLevel)
- ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)
- HostName
- Como definir tempos limite em operações de soquete
- Como definir tempos limite em operações de soquete
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 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, esse é 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
Funcionalidades do aplicativo |
ID_CAP_NETWORKING [Windows Phone]
internetClientServer
privateNetworkClientServer
|
Comentários
Os parâmetros remoteHostName e remoteServiceName devem ser fornecidos. Se remoteHostName for nulo ou 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 pode não atingir o tempo limite se o destino de rede remota não oferecer 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 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 .
Em um aplicativo Windows Phone 8.x, a classe StreamSocket não fornece suporte automático para proxies.
Confira também
- ConnectAsync(EndpointPair)
- ConnectAsync(HostName, String)
- ConnectAsync(EndpointPair, SocketProtectionLevel)
- ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)
- HostName
- SocketProtectionLevel
- Como definir tempos limite em operações de soquete
- Como definir tempos limite em operações de soquete
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 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, esse é 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) é associado a um adaptador de rede especificado no parâmetro do adaptador no computador local e ao nome do host remoto e ao nome do serviço 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 remoteHostName for nulo ou 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 do sistema de nomes de domínio (DNS).
O uso do 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 pode não atingir o tempo limite se o destino de rede remota não oferecer 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 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 .
Em um aplicativo Windows Phone 8.x, a classe StreamSocket não fornece suporte automático para proxies.
Confira também
- ConnectAsync(EndpointPair)
- ConnectAsync(HostName, String)
- ConnectAsync(EndpointPair, SocketProtectionLevel)
- ConnectAsync(HostName, String, SocketProtectionLevel)
- IPInformation
- NetworkAdapter
- Como definir tempos limite em operações de soquete
- Como definir tempos limite em operações de soquete