私が作成しているPurpleSofaの0.0.9で、IPv6対応をしました。
https://www.nuget.org/packages/PurpleSofa/
v6のサーバというのは、初めて作ったのですが、
フォーマットや省略ルールなど、以下のIBMのサイトがよくまとめられていたので、記載します。
https://www.ibm.com/docs/ja/i/7.1?topic=6-ipv6-concepts
C#の実装におけるポイントですが、
- v4の「0.0.0.0」(anywhere)は、v6では「::」に相当
- ソケットオプションで、v6でlistenする場合は、v6onlyをfalseにしておくとv4のソケットをv6として扱ってくれる
ぐらいでした。
(v6でlistenしても、v4を扱う設定)
_socket.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, false);
クラウドなんかでは、フロントとなるCDNとかロードバランサが、v6→v4変換とかもしれくれるので、
あんまりv6を直接扱う需要性は低いような気はしますが、
海外では、v6アドレスしか提供しないプロバイダなんかもあるようで、
ある程度v6の対応というか準備もしておいたほうがいいのかなと思うこの頃です。
以上
コメントがあればどうぞ