据我所知,我可以使用Golang运行简单的Web服务器,只需使用http
包,比如
http.ListenAndServe(PORT, nil)
其中PORT是要侦听的TCP地址。
我可以将PORT用作PORT S ,例如来自一个应用程序的http.ListenAndServe(":80, :8080", nil)
吗?
可能我的问题很愚蠢,但是"谁不问,他不会得到答案!"
感谢您提前!
答案 0 :(得分:12)
不,你不能。
但是,您可以在不同的端口上启动多个侦听器
go http.ListenAndServe(PORT, handlerA)
http.ListenAndServe(PORT, handlerB)
答案 1 :(得分:2)
这是一个简单的示例:
package main
import (
"fmt"
"net/http"
)
func hello(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "hello")
}
func world(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "world")
}
func main() {
serverMuxA := http.NewServeMux()
serverMuxA.HandleFunc("/hello", hello)
serverMuxB := http.NewServeMux()
serverMuxB.HandleFunc("/world", world)
go func() {
http.ListenAndServe("localhost:8081", serverMuxA)
}()
http.ListenAndServe("localhost:8082", serverMuxB)
}