golangでファイルサーバーを作成し、リスナーでClose()メソッドを呼び出しました。Golangはファイルサーブソケットを開いたままにしておきます
新しいWeb接続でポートにアクセスしようとすると、Socketが閉じられていると表示され、Webサイトにアクセスできません。
すでに確立されている接続を使用してページをリバースするとどうなりますか?ページがまったく閉じられないようにページが再読み込みされますか?私はまだファイルシステムをブラウズすることさえできます。
30分ほど後にソケットが強制的に閉じるように見えました。
人がファイルサーバーにアクセスできないように既存のすべての接続を強制的に切断するようなものがありますか?
var fileListener net.Listener
host_string = "127.0.0.1:8080"
fileListener, _ = net.Listen("tcp", host_string)
server := &http.Server{Addr: host_string, Handler:
http.FileServer(http.Dir("/"))}
go func() { server.Serve(fileListener) }()
fileListener.Close()
ハンドラをTimeoutHandlerのヘルプでまったくラッピングすることはできますか? (https://golang.org/pkg/net/http/#TimeoutHandler) –
私はConnStateの使用を推奨しました。完璧に動作します!ありがとう! –