yesod 0.9.2.2 を使用して "cabal install && yesod devel" を実行していますが、ipv6 を使用してのみリッスンしています。ipv4でもリッスンするように設定する方法を知っている人はいますか? Windows 7で実行しています。
ありがとう
ご指摘の症状は、これまでのところ BSD と Debian で確認されていますが、Windows にも影響があるようです。
これは、Yesod、または実際には Wasp、正確にはネットワーク ライブラリに関する既知の問題です。この問題をフォローアップする場所の 1 つは、this gitup issueまたはhaskell-lists に関する現在のディスカッションです。これは、部分的にあなたの質問によって引き起こされました。
現在、これをテストするための同様の設定はありませんが、IPv6ポートXをリッスンしているものがあり、IPv4の同じポートXでリッスンしているものがない場合、IPv6ポートが接続を受信することがわかります。IPv6サーバーは、「IPv6」アドレス:: ffff:1.2.3.4(これはIPv4マップIPv6アドレスと呼ばれます)からの接続を認識します。カーネルは、IPv6エンドポイントとIPv4エンドポイント間の変換を提供します。IPv4は有線で使用されます。
Windows 7についてはわかりませんが、一部のシステム(一部のLinuxディストリビューションなど)では、特定のsysctlを設定することでこの機能をデフォルトで無効にします。つまり、サーバーは個別のIPv4ソケットとIPv6ソケットにバインドする必要があります( 、私の経験では、望ましいオプションです)。アプリケーションは、このデフォルトの動作を自由にオーバーライドできます。