[ruby-list:50454] Re: WindowsでTCPServerをホスト指定しないで動かすと他ホストから接続できない
From:
Takahiro Kambe <taca@...>
Date:
2016-11-06 15:29:08 UTC
List:
ruby-list #50454
こんばんは。 In message <CAJOAuaGryjPEC1XKKESfDNcnatrVbSv4k8P2LaYnSXvH62k90Q@mail.gmail.com> on Sun, 6 Nov 2016 23:29:06 +0900, Shin Kuboaki <kuboaki@cityfujisawa.ne.jp> wrote: > ただ元々、UnixとWindowsとで仕様が異なる >> >> > UNIX プラットフォームでは、IPv4 と IPv6 の両方の受信接続を同一の >> > ソケットで受信します。Microsoft Windows は、IPv4 と IPv6 の両方の >> > 受信接続を同一のソケットで受信できません。 UNIXというよりは、Linuxと思った方がよい気がしないでもありません。 UNIX系OSでも少なくとも初期設定では別扱いとしているOSは存在します。 Windowsでは、netshコマンドで、 netsh interface ipv6 show prefixpolicies の結果に依存し、これは管理者(相当を含む)が接続しているネットワークの事 情に応じて変えている場合があるかもしれません。 Linuxは知りませんが、BSD系OSの場合はip6addrctlというシステムコマンドで 使用するIPv4/IPv6の発信元や宛先のアドレス選択のポリシーを設定できます。 というわけで、 * 「UnixとWindowsとで仕様が異なる」というわけではなく、各OSのアドレス 選択のポリシーに依存しています。 * IPv4とIPv6が同じソケットで通信できると思わない方が、ソフトウェアの移 植性の面では有利である。 と言えます。 (今時の情報に追いついていなくて嘘を書いているかもしれません。) -- 神戸 隆博 / Takahiro Kambe