Hi all! On 29/10/2020 14:10, Michael J. Baars wrote: [...] > According to manual page socket(7), SO_REUSEADDR allows for local addresses > to be reused for binding. I've tested this socket option with the WAN > address, it > appears the problem is solved for both local and non-local connections.
Yup. > I also found the the SO_LINGER socket option to be useful in some way. By > default, SO_LINGER is set to 0, so you would think that lingering connections > were out > of the question. However, an enabled linger with a l_onoff = 1 and a l_linger > = 0 seems to work a lot better than a disabled linger with a l_onoff = 0 and a > l_linger = 0. > > Which option would you use? I never used SO_LINGER before. >From the description in `man 7 socket`, active SO_LINGER just makes shutdown() to block if not all data has been transmitted (and ACKed?). close() on a socket calls shutdown() automatically (unless the shutdown() has been already called). The timeout which you're application runs into applies after shutting down/closing the connection. MfG, Bernd -- Bernd Petrovitsch Email : be...@petrovitsch.priv.at There is no cloud, just other people computers. - FSFE LUGA : http://www.luga.at