Qiita Conference 2025

伊藤淳一 (@jnchito)

なぜあなたの記事には「いいね」が付かないのか?〜あるいは「いいね」よりも大事な技術記事の価値について〜

2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Android EmulatorのIPv6がグダグダです(泣)

Last updated at Posted at 2020-12-10

TL;DL

本日Android Emulatorでデバックをしながらコードを書いていたら盛大にハマりました。
次の犠牲者を出さないようにメモっておきます。

作っていたのはAndroidからIPv6で通信をするというアプリなのですが、Android EmulatorはすでにIPv6対応しているとのことで安心しておりました。
https://qiita.com/ip6/items/15f76aba059ebc969455

起こったこと

あるライブラリを使いIPv6で通信をしようとしたところ、なぜだか通信エラーで落ちる。
IPv4を使えば問題なし。あれーバグ書いちゃったかな???

Android EmulatorでもSettingからIPv6が確認できるじゃない。
Screenshot_1607592803.png

なんで???

原因

Android Emulatorはデフォルトでサイトローカルアドレスを使うようになっている模様。
サイトローカルアドレスは、fec0::で始まるアドレス。上記スクリーンショットでも、2つ当たっている。
ところがこのサイトローカルアドレスは2004年9月にRFC3879によって廃止されています。
https://www.wdic.org/w/WDIC/%E3%82%B5%E3%82%A4%E3%83%88%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%83%A6%E3%83%8B%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9

なんで、EmulatorのホストからPINGを打とうが何しようが応答が帰ってこないことが判明。
Android EmulatorはSYNで接続しようとするが、サーバーがACKを返してもそのパケットはどこかで破棄されちゃっている模様。

なんで2004年に廃止されてしまった規格を、2020年に引きづっているんだよ。勘弁してくれよーーー。

ちなみに実機だとサイトローカルアドレスは当たらないので、実機で動かしたら無事動きました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Conference 2025 will be held!: 4/23(wed) - 4/25(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

ymrl、Masanobu Naruse, Takeshi Kano, Junichi Ito, uhyo, Hiroshi Tokumaru, MinoDriven, Minorun, Hiroyuki Sakuraba, tenntenn, drken, konifar

View event details
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?