我正在嘗試使用Hprose在Go中實現RPC服務器。它工作正常,但是在添加了更多功能之后卻沒有:/有趣的是,即使在其他http庫(例如fasthttp)上,它也不起作用。ListenAndServe()方法似乎在執行過程中被卡在某個位置,因為它永遠不會返回。可能是什么原因造成的?package mainimport ( "net/http" "fmt" "github.com/hprose/hprose-golang/rpc" log "logutil")func main() { log.InitializeLogger() InitializeEthClient() InitializeClients() server := rpc.NewHTTPService() // TxtStorage functions server.AddFunction("DeployTxtStorage", DeployNewTxtStorage) server.AddFunction("GetPackedData", GetPackedData) server.AddFunction("GetReputation", GetReputation) server.AddFunction("GetEventsForReputation", GetEventsForReputation) server.AddFunction("GetEventsForData", GetEventsForData) // Clients functions server.AddFunction("RegisterClient", RegisterClient) log.Info("Registered server functions!") err := http.ListenAndServe(":8080", server) fmt.Println(err) log.Info("Waiting for incoming connections...") log.WriteAway()}
1 回答

胡說叔叔
TA貢獻1804條經驗 獲得超8個贊
ListenAndServe正在阻止,除非遇到錯誤,否則它不會返回。您似乎期望最后的行能夠打印出來
Waiting for incoming connections...
但是,隨著服務器的運行,這將永遠不會發生。您確定它不僅能按預期工作嗎?
- 1 回答
- 0 關注
- 321 瀏覽
添加回答
舉報
0/150
提交
取消