これは Windows の問題なのか .NET の問題なのか (つまり、SO のここに属するものなのか) はわかりませんが、C# (.NETHttpListner
クラスを使用) で小さな HTTP サーバー プログラムを作成しました。これは大部分は問題なく動作しますが、Windows ファイアウォールは localhost 以外からの接続を拒否しているようです。ファイアウォール設定の [受信規則] セクションで TCP と UDP の例外を追加しました。これは、問題なく動作する他の HTTP ベースのサービス (例:foo_httpコントロール具体的には、実行中の実行可能ファイルに固有の、すべてのポートをカバーする TCP 接続と UDP 接続の個別のルールを追加しました。
Windows ファイアウォールが無効になっている場合は問題ありませんが、有効にすると接続がタイムアウトになります。
答え1
これがサーバーの場合、送信接続も許可する必要があると思います。サーバーへの受信接続は許可されている (サーバーに接続できる) とのことですが、送信接続のルールを作成していない (サーバーが応答できない) ため、接続がタイムアウトになります。
これをデバッグするには、Windows ファイアウォール コントロールを試すこともできます。
https://binisoft.org/wfc
Windows ファイアウォールから最後にブロックされた接続が表示されるウィンドウがあります。このログを確認すると、最近ブロックされたものと許可する必要があるものを確認できます。お役に立てば幸いです。
答え2
HttpListenerはHttp.sysを使用します。こちらを参照してくださいmsdn 記事。