0

Windows.Networking.Socketsを使用して、メトロ スタイルのデータグラム サーバーとクライアントを作成しました。私はC ++でコードをやっています

クライアントからサーバーに接続してデータを送信しようとしたよりも。

しかし、私が直面している問題は、Windows Metro アプリケーションが完全に非同期であるため、接続が完了する前にアプリがデータの送信を開始することです。

接続が完了した後に送信機能がデータを送信するアプローチが必要です。

msdnはクライアントサーバー用のサンプルコードを提供していますが、ボタンを使用してデータを送信するため、接続が完了するまで操作に時間がかかります。そのため、アプリケーションはうまく動作します。

しかし、送信ボタンを使用せずに、メイン コードでクライアント サーバー通信を実行しようとしています。

4

1 に答える 1

0

ここでいくつかの仮定を行うと、コードは提供されませんでしたが、DatagramSocket.ConnectAsync create_task の継続を使用する必要があります。送信データを task::then に入れた場合、呼び出しの非同期性の問題は発生しません。C++ Windows 8 アプリで非同期を処理する方法については、この記事を参照してください。ここにも素晴らしい例がたくさんあります。

于 2012-08-01T23:10:57.117 に答える