From 6fe9c2f4ec2a131ee57915e1a5502bb3efde2b44 Mon Sep 17 00:00:00 2001 From: Doflatango Date: Sun, 29 Apr 2018 20:22:53 +0800 Subject: [PATCH] Added flag 'network', resolved #76 --- bin/web/server.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/bin/web/server.go b/bin/web/server.go index ee4f5a2..2c2e7e3 100644 --- a/bin/web/server.go +++ b/bin/web/server.go @@ -20,6 +20,7 @@ import ( var ( level = flag.Int("l", 0, "log level, -1:debug, 0:info, 1:warn, 2:error") confFile = flag.String("conf", "conf/files/base.json", "config file path") + network = flag.String("network", "", "network protocol of listen address: ipv4/ipv6, or empty use both") ) func main() { @@ -40,7 +41,7 @@ func main() { } web.EnsureJobLogIndex() - l, err := net.Listen("tcp", conf.Config.Web.BindAddr) + l, err := net.Listen(checkNetworkProtocol(*network), conf.Config.Web.BindAddr) if err != nil { log.Errorf(err.Error()) return @@ -97,3 +98,14 @@ func main() { event.Emit(event.EXIT, nil) log.Infof("exit success") } + +func checkNetworkProtocol(p string) string { + switch p { + case "ipv4": + return "tcp4" + case "ipv6": + return "tcp6" + } + + return "tcp" +}