2017-06-19 119 views
0


我想写一个去http服务器,但我有一个问题,当我尝试收听传入的连接。
硬件设置:MacOS Sierra 10.12.4,docker 17.03
我有一个yml文件,将打开一个。 phpmyadmin和sql:ListenAndServe返回net.DNSError“节点名称和服务名称提供”

mysql: 
    extends: 
    service: mysql-5.7 
    ports: 
    - "3306:3306" 
phpmyadmin: 
    image: phpmyadmin/phpmyadmin:latest 
    links: 
    - "mysql:db" 
    ports: 
    - "8080:80" 

这似乎工作正常。 在此之后我写了一展身手文件连接和侦听连接:

stack := negroni.New() 
stack.Use(cors.New(cors.Options{ 
    AllowedOrigins: []string{"*"}, 
    AllowedMethods: []string{"GET", "POST", "PUT", "DELETE"}, 
    AllowedHeaders: []string{"*"}, 
    AllowCredentials: true, 
})) 

external := &http.Server{ 
    Addr: "10001", 
    Handler: stack, 
} 

// Start the server, listening for incomming connections. 
go func() { 
    err = external.ListenAndServe() 
    if err != nil && err != http.ErrServerClosed { 
     level.Error(logger).Log("msg", "error while listening", "err", err) 
     os.Exit(1) 
    } 
}() 

这会产生错误:

level=error time=2017-06-19T09:28:14.726843314Z app=“Falbala” env=local pid=1084 host=P5RO-PORT367.local msg="error while listening" err="listen tcp: lookup tcp/10001”: nodename nor servname provided, or not known"

任何想法?
谢谢

回答

0

documentation,地址值应该是一个字符串。

// ListenAndServe always returns a non-nil error. 
func ListenAndServe(addr string, handler Handler) error { 
    server := &Server{Addr: addr, Handler: handler} 
    return server.ListenAndServe() 
} 

你可以试试吗?

external := http.Server{ 
    Addr: ":10001", 
    Handler: stack, 
} 
相关问题