我是golang的新手,我正在通過TCP協議編寫客戶端 - 服務器應用程序。我需要建立一個臨時連接,幾秒鐘後關閉。我不明白該怎麼做。
我有這樣的功能,它創造了採空區數據的連接,並等待:設置Golang的連接時間
func net_AcceptAppsList(timesleep time.Duration) {
ln, err := net.Listen("tcp", ":"+conf.PORT)
CheckError(err)
conn, err := ln.Accept()
CheckError(err)
dec := gob.NewDecoder(conn)
pack := map[string]string{}
err = dec.Decode(&pack)
fmt.Println("Message:", pack)
conn.Close()
}
我需要這個功能,等待數據僅幾秒鐘 - 不是永遠。
不,這不是我想要的。當我看到這個函數時,如果這些函數是我想要的,我永遠不會問這個問題。這個函數只是設置讀或寫操作的超時時間!但是如果沒有它,那麼什麼都不會發生。 –
@IgniSerpens:那麼請舉例說明你需要什麼。 'Decode'調用將在連接上執行'Read',所以這將導致'Decode'在截止時間到期後返回。 – JimB
我們需要對現有的連接本身進行超時。 –