我想编写简单的 REST API 应用程序。我编写了处理 HTTP 请求的代码:
package main
import (
"fmt"
"log"
"movies/dao"
"net/http"
"github.com/gorilla/mux"
)
var d = dao.MoviesDAO{}
// AllMoviesEndPoint show all movies
func AllMoviesEndPoint(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "not implemented yet")
}
func init() {
d.Server = "127.0.0.1"
d.Database = "movies"
}
func main() {
//d.Connect()
router := mux.NewRouter()
router.HandleFunc("/movies", AllMoviesEndPoint).Methods("GET")
go func() {
if err := http.ListenAndServe(":3000", router); err != nil {
log.Fatal(err)
}
}()
}
但是当我在调试器下运行这个程序然后停止它时,套接字被绑定,我可以从浏览器访问服务器,并且由于出现错误,我无法再次运行程序listen tcp :3000: bind: address already in use
。
程序退出时如何关闭连接?
现在我需要在kill -9 PID
我的服务器上启动新的调试会话。