hololens2 通信用の Windows.Networking.Sockets

Windows.Networking.Sockets:
この名前空間は、ネットワーク通信用のソケット クラスと Web ソケット クラス、およびバックグラウンドで UWP アプリケーションによって受信されるリアルタイム ネットワーク通知用のクラスを提供するために使用されます。

  •   いわゆるソケット (Socket) は、ネットワーク内の異なるホスト上のアプリケーション プロセス間の双方向通信のためのエンドポイントを抽象化したものです。ソケットはネットワーク上のプロセス通信の一端であり、アプリケーション層プロセスがネットワーク プロトコルを使用してデータを交換するためのメカニズムを提供します。位置の観点から見ると、ソケットはアプリケーション プロセスに接続し、ネットワーク プロトコル スタックに接続します。ネットワーク プロトコル スタックは、アプリケーション プログラムがネットワーク プロトコルを介して通信するためのインターフェイスであり、アプリケーション プログラムがネットワーク プロトコルと対話するためのインターフェイスです。スタック。
      ソケット (ソケット) は、2 つのネットワーク アプリケーションが通信するときのそれぞれの通信接続のエンドポイントとみなすことができ、これは論理的な概念です。これは、ネットワーク環境におけるプロセス間通信のための API (アプリケーション プログラミング インターフェイス) であり、名前とアドレスを指定できる通信エンドポイントでもあります。使用される各ソケットには、そのタイプとそれに接続されているプロセスがあります。通信中、ネットワーク アプリケーションの 1 つが、それが配置されているホストのソケットに送信する情報を書き込み、ソケットは、ネットワーク インターフェイスに接続された伝送媒体を介して、この情報を別のホストのソケットに送信します。カード(NIC)に接続して、相手がこのメッセージを受信できるようにします。
      ソケットは IP アドレスとポートの組み合わせであり、コロンまたはカンマで区切られたデータ パケットをアプリケーション層のプロセスに送信するメカニズムを提供します。各トランスポート層接続は、通信の両端の 2 つのエンドポイント (つまり、2 つのソケット) によって一意に識別されます。例: IP アドレスが 210.37.145.1、ポート番号が 23 の場合、ソケットは (210.37.145.1:23) になります。

主要なクラスのうちの 2 つを簡単に紹介します。

StreamSocketListener クラス:
TCP ストリーム ソケットまたは Bluetooth RFCOMM を使用した受信ネットワーク接続のリスニングをサポートします。StreamSocketListener クラスは、ストリーム ソケットを使用した受信ネットワーク接続のリッスンと接続の受け入れをサポートします。
一般的な実行シーケンスは次のとおりです。

  • StreamSocketListener オブジェクトを作成する
  • Control プロパティを使用して、StreamSocketListenerControl オブジェクトを取得し、必要なソケットのサービス品質を設定します。
  • ConnectionReceived イベントをイベント ハンドラーに割り当てます。
  • BindServiceNameAsync メソッドまたは bindingppointasync メソッドを呼び出して、ローカル TCP ポート番号またはサービス名にバインドします。Bluetooth RFCOMM の場合、ローカル サービス名パラメータは Bluetooth サービス ID です。
  • StreamSocketListenerConnectionReceivedEventArgs オブジェクトを使用して、作成された StreamSocket オブジェクトの Socket プロパティを取得します。
  • StreamSocket オブジェクトを使用してデータを送受信します。
  • Close メソッドを呼び出して、受信ネットワーク接続のリッスンと受け入れを停止し、StreamSocketListener オブジェクトに関連付けられたアンマネージ リソースを解放します。接続の受信時に作成された StreamSocket オブジェクトは影響を受けず、必要に応じて引き続き使用できます。

StreamSocketListener クラスの非同期メソッドを呼び出す場合は、例外を処理するコードを作成する必要があります。パラメータ検証エラー、名前解決エラー、ネットワーク エラーにより例外が発生する可能性があります。接続の切断、接続障害、サーバー障害などのネットワーク エラーの異常はいつでも発生する可能性があります。これらのエラーにより例外がスローされます。アプリケーションが例外を処理しない場合、アプリケーション全体がランタイムによって終了される可能性があります。
StreamSocket クラス:
StreamSocket クラスは、TCP または Bluetooth RFCOMM 上のストリーム ソケットを使用した UWP アプリケーションでのネットワーク通信をサポートします。
クライアント アプリケーションの場合、StreamSocket を使用する最も一般的な操作のシーケンスは次のとおりです。

  • StreamSocketの作成
  • Control プロパティを使用して StreamSocketControl オブジェクトを取得し、ConnectAsync メソッドを呼び出す前に StreamSocketControl オブジェクトのプロパティを設定します。
  • ConnectAsync メソッドを呼び出して、リモート エンドポイントとの接続を確立します。Bluetooth の場合、リモート サービス名は Bluetooth サービス ID です。ConnectAsync メソッドの一部は、TCP で SSL/TLS 接続が必要かどうか、または Bluetooth で即時暗号化が必要かどうかを指定するために使用できます。TCP ソケットで初期データを送受信した後に SSL/TLS 接続が必要な場合は、後で UpgradeToSslAsync メソッドを呼び出して、SSL を使用するように接続をアップグレードできます。
  • OutputStream プロパティを取得して、リモート ホストにデータを書き込みます。
  • リモート ホストからデータを読み取るには、InputStream プロパティを取得します。
  • 必要に応じてデータの読み取りと書き込みを行います。
  • Close メソッドを呼び出すと、ソケットが切断され、保留中の操作がすべて中止され、StreamSocket オブジェクトに関連付けられたアンマネージ リソースがすべて解放されます。

おすすめ

転載: blog.csdn.net/ZhangJingHuaJYO/article/details/124375232