Compartir a través de


StreamSocket.ConnectAsync Método

Definición

Sobrecargas

ConnectAsync(EndpointPair)

Inicia una operación asincrónica en un objeto StreamSocket para conectarse a un destino de red remoto especificado como un objeto EndpointPair .

ConnectAsync(EndpointPair, SocketProtectionLevel)

Inicia una operación asincrónica en un objeto StreamSocket para conectarse a un destino de red remoto especificado como un objeto EndpointPair y una enumeración SocketProtectionLevel . Este método no se puede llamar desde JavaScript.

ConnectAsync(HostName, String)

Inicia una operación asincrónica en un objeto StreamSocket para conectarse a un destino de red remoto especificado por un nombre de host remoto y un nombre de servicio remoto.

ConnectAsync(HostName, String, SocketProtectionLevel)

Inicia una operación asincrónica en un objeto StreamSocket para conectarse a un destino remoto especificado por un nombre de host remoto, un nombre de servicio remoto y un socketProtectionLevel.

ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)

Inicia una operación asincrónica en un objeto StreamSocket en un adaptador de red local especificado para conectarse a un destino remoto especificado por un nombre de host remoto, un nombre de servicio remoto y un socketProtectionLevel.

ConnectAsync(EndpointPair)

Inicia una operación asincrónica en un objeto StreamSocket para conectarse a un destino de red remoto especificado como un 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

Objeto EndpointPair que especifica el nombre de host local o la dirección IP, el nombre del servicio local o el puerto TCP, el nombre de host remoto o la dirección IP remota, y el nombre del servicio remoto o el puerto TCP remoto para el destino de red remota.

Devoluciones

Una operación de conexión asincrónica en un objeto StreamSocket .

Atributos

Requisitos de Windows

Características de aplicaciones
ID_CAP_NETWORKING [Windows Phone] internetClientServer privateNetworkClientServer

Comentarios

Si el objeto EndpointPair pasado en el parámetro endpointPair contiene null para la propiedad LocalHostName , el sistema proporcionará la dirección IP local que se usará. Si el objeto EndpointPair pasado en el parámetro endpointPair contiene una cadena vacía para la propiedad LocalServiceName , el sistema proporcionará el puerto TCP local que se usará.

En una aplicación para UWP, la clase StreamSocket admite la conexión a un punto de conexión remoto cuando se necesitan servidores proxy para completar la conexión. Esta compatibilidad con servidores proxy es automática y transparente para la aplicación. No se admite la conexión a través de servidores proxy cuando se especifica una dirección de host local, por lo que la propiedad LocalHostName pasada en el parámetro endpointPair debe ser null. Para obtener información más detallada, consulte los comentarios sobre la compatibilidad con servidores proxy en la referencia de la clase StreamSocket .

En una aplicación Windows Phone 8.x, la clase StreamSocket no proporciona compatibilidad automática con servidores proxy.

Consulte también

Se aplica a

ConnectAsync(EndpointPair, SocketProtectionLevel)

Inicia una operación asincrónica en un objeto StreamSocket para conectarse a un destino de red remoto especificado como un objeto EndpointPair y una enumeración SocketProtectionLevel . Este método no se puede llamar desde 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

Objeto EndpointPair que especifica el nombre de host local o la dirección IP, el nombre del servicio local o el puerto TCP, el nombre de host remoto o la dirección IP remota, y el nombre del servicio remoto o el puerto TCP remoto para el destino de red remota.

protectionLevel
SocketProtectionLevel

Nivel de protección que representa la integridad y el cifrado de un objeto StreamSocket .

Devoluciones

Una operación de conexión asincrónica en un objeto StreamSocket .

Atributos

Requisitos de Windows

Características de aplicaciones
ID_CAP_NETWORKING [Windows Phone] internetClientServer privateNetworkClientServer

Comentarios

Si el objeto EndpointPair pasado en el parámetro endpointPair contiene null para la propiedad LocalHostName , el sistema proporcionará la dirección IP local que se usará. Si el objeto EndpointPair pasado en el parámetro endpointPair contiene una cadena vacía para la propiedad LocalServiceName , el sistema proporcionará el puerto TCP local que se usará.

Si el objeto EndpointPair pasado en el parámetro endpointPair contiene null para la propiedad LocalServiceName , se producirá un error.

El método [ConnectAsync(EndpointPair, SocketProtectionLevel) no se expone en JavaScript. No se puede llamar a este método desde JavaScript, ya que tiene el mismo número de argumentos que el método ConnectAsync(HostName, String).

Las aplicaciones escritas en JavaScript no pueden conectar streamSocket mediante endpointPair mediante SSL directamente. Para conectar un EndpointPair mediante SSL, las aplicaciones de JavaScript pueden usar el código siguiente en su lugar.

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

Cuando el parámetro protectionLevel se establece en un valor que requiere SSL o TLS, es posible que la operación de conexión de socket no se haya agotado si el punto de conexión remoto no admite SSL o TLS. Esto puede ocurrir si la operación de conexión inicial se realiza correctamente, pero el punto de conexión remoto no finaliza la conexión durante el protocolo de enlace SSL. Para protegerse frente a esta situación, una aplicación debe establecer un tiempo de espera en la operación de conexión al solicitar SSL/TLS y anular la operación si expira el tiempo de espera. Para obtener más información sobre cómo establecer un tiempo de espera mediante JavaScript en operaciones de socket, vea Cómo establecer tiempos de espera en las operaciones de socket . Para obtener más información sobre cómo establecer un tiempo de espera mediante VB, C# o C++ en las operaciones de socket, vea Cómo establecer tiempos de espera en las operaciones de socket .

En una aplicación para UWP, la clase StreamSocket admite la conexión a un punto de conexión remoto cuando se necesitan servidores proxy para completar la conexión. Esta compatibilidad con servidores proxy es automática y transparente para la aplicación. No se admite la conexión a través de servidores proxy cuando se especifica una dirección de host local, por lo que la propiedad LocalHostName pasada en el parámetro endpointPair debe ser null. Para obtener información más detallada, consulte los comentarios sobre la compatibilidad con servidores proxy en la referencia de la clase StreamSocket .

En una aplicación Windows Phone 8.x, la clase StreamSocket no proporciona compatibilidad automática con servidores proxy.

Consulte también

Se aplica a

ConnectAsync(HostName, String)

Inicia una operación asincrónica en un objeto StreamSocket para conectarse a un destino de red remoto especificado por un nombre de host remoto y un nombre de servicio 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

El nombre de host o la dirección IP del destino de red remota. Para Bluetooth RFCOMM, se trata de una dirección MAC.

remoteServiceName
String

Platform::String

winrt::hstring

Nombre del servicio o número de puerto TCP del destino de red remota. Para Bluetooth RFCOMM, esta es la dirección Bluetooth.

Devoluciones

Una operación de conexión asincrónica en un objeto StreamSocket .

Atributos

Requisitos de Windows

Características de aplicaciones
ID_CAP_NETWORKING [Windows Phone] internetClientServer privateNetworkClientServer

Comentarios

Se deben proporcionar los parámetros remoteHostName y remoteServiceName . Si remoteHostName es null o remoteServiceName es null o una cadena vacía, se producirá un error.

En una aplicación para UWP, la clase StreamSocket admite la conexión a un punto de conexión remoto cuando se necesitan servidores proxy para completar la conexión. Esta compatibilidad con servidores proxy es automática y transparente para la aplicación. Para obtener información más detallada, consulte los comentarios sobre la compatibilidad con servidores proxy en la referencia de la clase StreamSocket .

En una aplicación Windows Phone 8.x, la clase StreamSocket no proporciona compatibilidad automática con servidores proxy.

Consulte también

Se aplica a

ConnectAsync(HostName, String, SocketProtectionLevel)

Inicia una operación asincrónica en un objeto StreamSocket para conectarse a un destino remoto especificado por un nombre de host remoto, un nombre de servicio remoto y un 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

El nombre de host o la dirección IP del destino de red remota. Para Bluetooth RFCOMM, se trata de una dirección MAC.

remoteServiceName
String

Platform::String

winrt::hstring

Nombre del servicio o número de puerto TCP del destino de red remota. Para Bluetooth RFCOMM, esta es la dirección Bluetooth.

protectionLevel
SocketProtectionLevel

Nivel de protección que representa la integridad y el cifrado del objeto StreamSocket .

Devoluciones

Una operación de conexión asincrónica en un objeto StreamSocket .

Atributos

Requisitos de Windows

Características de aplicaciones
ID_CAP_NETWORKING [Windows Phone] internetClientServer privateNetworkClientServer

Comentarios

Se deben proporcionar los parámetros remoteHostName y remoteServiceName . Si remoteHostName es null o remoteServiceName es null o una cadena vacía, se producirá un error.

Cuando el parámetro protectionLevel se establece en un valor que requiere SSL o TLS, es posible que la operación de conexión de socket no se haya agotado si el destino de red remota no admite SSL o TLS. Esto puede ocurrir si la operación de conexión inicial se realiza correctamente, pero el host remoto no finaliza la conexión durante el protocolo de enlace SSL. Para protegerse frente a esta situación, una aplicación debe establecer un tiempo de espera en la operación de conexión al solicitar SSL/TLS y anular la operación si expira el tiempo de espera. Para obtener más información sobre cómo establecer un tiempo de espera mediante JavaScript en operaciones de socket, vea Cómo establecer tiempos de espera en las operaciones de socket . Para obtener más información sobre cómo establecer un tiempo de espera mediante VB, C# o C++ en las operaciones de socket, vea Cómo establecer tiempos de espera en las operaciones de socket .

En una aplicación para UWP, la clase StreamSocket admite la conexión a un punto de conexión remoto cuando se necesitan servidores proxy para completar la conexión. Esta compatibilidad con servidores proxy es automática y transparente para la aplicación. Para obtener información más detallada, consulte los comentarios sobre la compatibilidad con servidores proxy en la referencia de la clase StreamSocket .

En una aplicación Windows Phone 8.x, la clase StreamSocket no proporciona compatibilidad automática con servidores proxy.

Consulte también

Se aplica a

ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)

Inicia una operación asincrónica en un objeto StreamSocket en un adaptador de red local especificado para conectarse a un destino remoto especificado por un nombre de host remoto, un nombre de servicio remoto y un 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

El nombre de host o la dirección IP del destino de red remota. Para Bluetooth RFCOMM, se trata de una dirección MAC.

remoteServiceName
String

Platform::String

winrt::hstring

Nombre del servicio o número de puerto TCP del destino de red remota. Para Bluetooth RFCOMM, esta es la dirección Bluetooth.

protectionLevel
SocketProtectionLevel

Nivel de protección que representa la integridad y el cifrado del objeto StreamSocket .

adapter
NetworkAdapter

Adaptador de red local que se va a usar para la operación de conexión en el objeto StreamSocket .

Devoluciones

Una operación de conexión asincrónica en un objeto StreamSocket .

Atributos

Comentarios

El método [ConnectAsync(Hostname, String, SocketProtectionLevel, NetworkAdapter) se enlaza a una interfaz de red especificada en el parámetro adapter en el equipo local y el nombre de host remoto y el nombre de servicio especificados en los parámetros remoteHostName y remoteServiceName con el nivel de protección especificado en el parámetro protectionLevel .

Se deben proporcionar los parámetros remoteHostName y remoteServiceName . Si remoteHostName es null o remoteServiceName es null o una cadena vacía, se producirá un error. Si el parámetro del adaptador es null, se producirá un error.

El mecanismo de resolución de nombres utilizado por el método [ConnectAsync(Hostname, String, SocketProtectionLevel, NetworkAdapter) se limita a la interfaz especificada para el espacio de nombres del sistema de nombres de dominio (DNS).

El uso del adaptador de red especificado se basa en el mejor esfuerzo. Los sistemas con adaptadores configurados en modos de reenvío o host débil pueden usar un adaptador distinto del adaptador especificado.

Cuando el parámetro protectionLevel se establece en un valor que requiere SSL o TLS, es posible que la operación de conexión de socket no se haya agotado si el destino de red remota no admite SSL o TLS. Esto puede ocurrir si la operación de conexión inicial se realiza correctamente, pero el host remoto no finaliza la conexión durante el protocolo de enlace SSL. Para protegerse contra esta situación, una aplicación debe establecer un tiempo de espera en la operación de conexión al solicitar SSL/TLS y anular la operación si expira el tiempo de espera. Para obtener más información sobre cómo establecer un tiempo de espera mediante JavaScript en operaciones de socket, vea Cómo establecer tiempos de espera en las operaciones de socket . Para obtener más información sobre cómo establecer un tiempo de espera mediante VB, C# o C++ en las operaciones de socket, vea Cómo establecer tiempos de espera en las operaciones de socket .

Una aplicación puede recuperar un NetworkAdapter válido inspeccionando una instancia de HostName (mediante el método NetworkInformation.GetHostNames , por ejemplo) y recuperando el objeto IPInformation de la propiedad Hostname.IPInformation . La propiedad IPInformation.NetworkAdapter se puede usar para recuperar el NetworkAdapter asociado.

En una aplicación para UWP, la clase StreamSocket admite la conexión a un punto de conexión remoto cuando se requieren servidores proxy para completar la conexión. Esta compatibilidad con servidores proxy es automática y transparente para la aplicación. Sin embargo, no se admite la conexión a través de servidores proxy cuando se selecciona un adaptador de red específico. Por lo tanto, la compatibilidad con proxy se deshabilita cuando se usa el método [ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter). Para obtener información más detallada, consulte los comentarios sobre la compatibilidad con servidores proxy en la referencia de la clase StreamSocket .

En una aplicación Windows Phone 8.x, la clase StreamSocket no proporciona compatibilidad automática con servidores proxy.

Consulte también

Se aplica a