Я новичок в 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
Нам нужно сделать тайм-аут для существующего соединения. –