2017-01-02 9 views
0

ユーザートークンを含めるようにStreamSocketのHostNameをフォーマットする方法はありますか?ユーザートークンでURIを使用しようとすると、「パラメータが正しくありません」という例外が発生します。私はMessageWebSocketで成功しましたが、Windows 10 UWPのバックグラウンドで(簡単に)実行できるため、StreamSocketが必要です。ここに私のコードです。どんな助けでも大歓迎です。UWP Hostnameにユーザートークンを持つC#.Net StreamSocket

public static async void ConnectToStreamSocket() 
    { 
     StreamSocket socket = new StreamSocket(); 
     string hostUri = "//example.myexample.com/websocket/dfkjlkdfskldklfdkddkfdkffjf"; 
     HostName host = new HostName(hostUri);   
     string proto = "wss"; 
     await socket.ConnectAsync(host, proto); 
    } 

答えて

0

私は、ユーザートークンでURIを使用しようとすると、私は、「パラメータが間違って」例外を取得します。

HostName constructorのパラメータがURIではなく、hostnameまたはIPアドレスを含む文字列。 hostNameパラメータの説明によれば、次のいずれかを含めることができます。

  • ドメインネームシステム(DNS)または別の名前空間プロバイダによって解決できるホストの名前を。
  • ローカルコンピュータの次のファイルの文字列と一致するホストの名前:%WINDIR%\ system32 \ drivers \ etc \ hosts
  • ホストのIPv4またはIPv6ネットワークアドレスを含む文字列。

"//example.myexample.com/websocket/dfkjlkdfskldklfdkddkfdkffjf"の場合、これはそれがHostNameクラスでは認識できないように、上記の要件を満たしていないURIです。 example.myexample.comのような値が認識されます。

MessageWebSocketクラスを正常に使用する理由は、MessageWebSocket.ConnectAsyncメソッドには、指定したとおりにURIパラメータが必要なためです。

しかし、Windows 10 UWPのバックグラウンドで(簡単に)実行できるため、StreamSocketが必要です。

WebSocketsクライアントとHTTP(S)を使用して、ウェブ上のサーバとの間の高速、セキュアな双方向通信のためのメカニズムを提供します。 Socketは、他のデバイスとの通信に使用できます。それらは同じものではなく、単にWebSocketsStreamSocketに転送することはできません。 uwpのWebSocketsおよびStreamSocketsの詳細については、公式文書SocketsおよびWebSocketsを参照してください。

しかし、WebSocketsはバックグラウンドで使用できますが、StreamSocketは必要ありません。バックグラウンドでWebSocketを使用している場合は、ControlChannelTriggerを使用する必要があります。 ControlChannelTriggerでWebSocketを使用する方法の詳細については、ControlChannelTrigger with WebSocketsを参照してください。

+0

ありがとうございます。私は現在、ControlChannelTriggerを使用していて、データがMessageWebSocketの上に来ると、バックグラウンドタスクを正常に起動しています。私は以来、私はそれを処理することができるようにバックグラウンドタスクにソケットを介して受信したデータを取得する方法を探してきました。これまでのところ説明したオンラインのものは見つかりませんでした。 –

+0

@JamesB、[このサンプル](https://code.msdn.microsoft.com/windowsapps/ControlChannelTrigger-91f6bed8)を参照してください。ところで、私の答えがあなたを助けたら、受け入れられたとマークしてください。まだ新しい問題がある場合は、新しいスレッドを開くことができます。 –

関連する問題