2017-06-19 117 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, 
} 
相關問題