2012-12-10

Windows Phone 8 エミュレータのネットワーク


Windows Phone 8 SDK Advent Calendar 10日目、Windows Phone 8 エミュレータで遊ぼう開発しようとしたときの注意点をお送りします。

まず、今回のエミュレータでネットワークを使用するためには DHCP サーバが必要になります。なので IP 固定環境では使用することができません。
あと、なぜか DHCP サーバでホスト PC の IP アドレスを固定化していた場合にも問題が出るみたいです。ルータに PC の MAC アドレスを登録してたりする方は外してみてください。

が、それ以上に僕がはまったのが 「無線 LAN 環境でネットワーク接続が利用できない」 という問題… 有線 LAN だと接続できるのに無線 LAN では接続できないという状態で悩んでいました。

この解決策を今回のネタにしようと試行錯誤していたのですが、ごめんなさい解決方法はわかりませんでした。

解散


...って言ったら怒られますね。
とりあえず今分かってるのは「しばらく待ってみて」という事だけです。

Windows Phone 8 エミュレータからはツールウィンドウにネットワークタブが追加されて現在の IP アドレスを確認できるようになっていますここを開くと現在の IP アドレスが確認できます。



通信できない方、ここの IPv4 アドレスが 169.254. からはじまる AutoIP になっていませんか? つまりは DHCP サーバから IP アドレスを貰えてないんですよね。

実験したところ有線 LAN の場合は DHCP REQUEST に対する DHCP OFFER がすぐに返ってきて、スタート画面が出たときには通信可能な状態になっていました。これが無線 LAN だと画面が出た後も延々と DHCP REQUEST を出し続けて1分から酷いときには 3分後にようやく DHCP OFFER が返ってくるという状況でした。
ルータを変えてみても同じような問題が出たので無線 LAN 経由の場合に DHCP REQUEST のブロードキャストが外に出てないような気もするのですが詳細は確認できていません。

あと無事にアドレスを貰えた場合でも、別の場所に PC を持っていったりしてネットワーク構成が変わったときにも注意が必要です。
ネットワークタブに 更新ボタンがありますが、これはあくまで表示の更新であって DHCP を取り直したりしてくれるものではないようです。この場合は素直にエミュレータの再起動が必要ですね。

という訳で、何の解決にもなっていない記事でしたが 25日までに原因がわかったら解決編をアップします。それでは解散!
 

2 件のコメント:

高橋忍 さんのコメント...

@shinoblogavi うちではWiFiのみでもきちんと通信できています。Windows 8のネットワークの設定の問題のような気がします。ネットワークと共有の設定と、Hyper-Vの仮想スイッチマネージャーの設定が関連しているような感じですね。

kazuaki さんのコメント...

ご指摘ありがとうございます。

更に別ノートに環境つくってみたところ、問題なく動作しました。
PC の問題のようですので、もう少し検証してみます。