UWP:PCと電話でDatagramSocketの挙動が異なる
2015-08-14


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

禺画像]

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

禺画像]

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

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

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

禺画像]

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

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

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

[Windowsストアアプリ]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット