Language

StreamSocket.ConnectAsync メソッド

定義

オーバーロード

Name 説明
ConnectAsync(EndpointPair)

EndpointPair オブジェクトとして指定されたリモート ネットワーク宛先に接続するために、StreamSocket オブジェクトに対して非同期操作を開始します。

ConnectAsync(EndpointPair, SocketProtectionLevel)

EndpointPair オブジェクトおよび SocketProtectionLevel 列挙体として指定されたリモート ネットワーク宛先に接続する、StreamSocket オブジェクトに対する非同期操作を開始します。 このメソッドは JavaScript から呼び出しできません。

ConnectAsync(HostName, String)

StreamSocket オブジェクトに対して非同期操作を開始し、リモート ホスト名とリモート サービス名で指定されたリモート ネットワーク宛先に接続します。

ConnectAsync(HostName, String, SocketProtectionLevel)

StreamSocket オブジェクトに対して非同期操作を開始し、リモート ホスト名、リモート サービス名、および SocketProtectionLevelで指定されたリモート接続先に接続します。

ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter)

指定したローカル ネットワーク アダプター上の StreamSocket オブジェクトに対して非同期操作を開始し、リモート ホスト名、リモート サービス名、および SocketProtectionLevelで指定されたリモート接続先に接続します。

ConnectAsync(EndpointPair)

EndpointPair オブジェクトとして指定されたリモート ネットワーク宛先に接続するために、StreamSocket オブジェクトに対して非同期操作を開始します。

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 オブジェクトに、LocalHostName プロパティの null が含まれている場合、システムは使用されるローカル IP アドレスを指定します。 endpointPair パラメーターで渡された EndpointPair オブジェクトに、LocalServiceName プロパティの空の文字列が含まれている場合、システムは使用するローカル TCP ポートを提供します。

UWP アプリでは、プロキシが接続を完了するために必要な場合、StreamSocket クラスはリモート エンドポイントへの接続をサポートします。 このプロキシのサポートは、アプリに対して自動的かつ透過的です。 ローカル ホスト アドレスが指定されている場合、プロキシを介した接続はサポートされていないため、endpointPair パラメーターで渡される LocalHostName プロパティは null である必要があります。 詳細については、StreamSocket クラス リファレンスの プロキシのサポートに関する の解説を参照してください。

関連項目

適用対象

ConnectAsync(EndpointPair, SocketProtectionLevel)

EndpointPair オブジェクトおよび SocketProtectionLevel 列挙体として指定されたリモート ネットワーク宛先に接続する、StreamSocket オブジェクトに対する非同期操作を開始します。 このメソッドは 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 オブジェクトに、LocalHostName プロパティの null が含まれている場合、システムは使用されるローカル IP アドレスを指定します。 endpointPair パラメーターで渡された EndpointPair オブジェクトに、LocalServiceName プロパティの空の文字列が含まれている場合、システムは使用するローカル TCP ポートを提供します。

endpointPair パラメーターで渡された EndpointPair オブジェクトに、LocalServiceName プロパティに null が含まれている場合、エラーが発生します。

[ConnectAsync(EndpointPair, SocketProtectionLevel) メソッドは JavaScript では公開されません。 このメソッドは、ConnectAsync(HostName, String) メソッドと同じ数の引数を持っているため、JavaScript から呼び出すことはできません。

JavaScript で記述されたアプリは、SSL を直接使用して EndpointPair を使用して、StreamSocket に接続することはできません。 SSL を使用して EndpointPair を接続するために、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 クラスはリモート エンドポイントへの接続をサポートします。 このプロキシのサポートは、アプリに対して自動的かつ透過的です。 ローカル ホスト アドレスが指定されている場合、プロキシを介した接続はサポートされていないため、endpointPair パラメーターで渡される LocalHostName プロパティは null である必要があります。 詳細については、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 クラス リファレンスの プロキシのサポートに関する の解説を参照してください。

関連項目

適用対象

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 クラス リファレンスの プロキシのサポートに関する の解説を参照してください。

関連項目

適用対象

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(Hostname, String, SocketProtectionLevel, NetworkAdapter) メソッドは、ローカル コンピューターの アダプター パラメーターで指定されたネットワーク インターフェイスと、remoteHostName で指定されたリモート ホスト名とサービス名、および protectionLevel パラメーターで指定された保護レベルを持つ remoteServiceName パラメーターにバインドします。

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++ を使用してタイムアウトを設定する方法の詳細については、「ソケット操作 にタイムアウトを設定する方法」を参照してください。

アプリは、HostName インスタンス (たとえば、NetworkInformation.GetHostNames メソッドを使用) を調べ、Hostname.IPInformation プロパティから IPInformation オブジェクトを取得することで、有効な NetworkAdapter を取得できます。 IPInformation.NetworkAdapter プロパティを使用して、関連付けられている NetworkAdapterを取得できます。

UWP アプリでは、プロキシが接続を完了するために必要な場合、StreamSocket クラスはリモート エンドポイントへの接続をサポートします。 このプロキシのサポートは、アプリに対して自動的かつ透過的です。 ただし、特定のネットワーク アダプターが選択されている場合、プロキシ経由での接続はサポートされません。 そのため、[ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter) メソッドを使用すると、プロキシのサポートは無効になります。 詳細については、StreamSocket クラス リファレンスの プロキシのサポートに関する の解説を参照してください。

関連項目

適用対象