UWP:PCと電話でDatagramSocketの挙動が異なる2015年08月14日 13:25

ユニバーサルWindowsアプリ、Mobileエミュレータでテストを始めると、Datagram SocketのConnectAsyncの2回目からエラーが出る。

a blocking operation in progress

ブロッキング操作が実行中?

a blocking operation in progress

Windows Socketのエラー一覧を見ると、WSAEINPROGRESSのエラー。エラー対処では、時間をおいて再試行、とあるが、ずいぶん待っても解消しない。PCでのテスト実行では問題なかったところ。

※Windows Socketのエラー一覧:10036番

試行錯誤してみたところ、Mobileでは、Datagram Socketの使い回しを止めて、毎回、再作成するようにすると回避できる。

AnalyticsInfo

ほめられたコーディングではないが、Windows.System.ProfileのAnalyticsInfoから、デバイスの識別情報を取って、条件分岐。

PC:コンストラクタでDatagram Socketを用意して、使い回し
Mobile:コンストラクタではDatagram Socketを用意せず、時刻更新ボタン押下の度、都度作成

UWPとはいっても、若干の挙動の違いは残る様子。これからもいろいろ悩まされそう。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://c5d5e5.asablo.jp/blog/2015/08/14/7733315/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。