Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Wow. Can you easily change the tcp connection timeout?


You can. It’s trivial once you know it’s possible. Not sure why it’s not set by default. https://go.googlesource.com/net/+/master/http2/transport.go


To be clear, this is for http/2, not tcp. You can very easily set read and write deadlines on tcp conns, but you can’t detect if a peer has disappeared without data. You can set keepalive but it’s not reliable and varies wildly between OSs.

You need a heartbeat or ping message together with an advancing deadline to detect dead peers reliably.


HTTP/2 supports a heartbeat in the protocol using PING frames. But I guess a lot of clients probably don’t support it or use it by default.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: