> > However, I think I found a workaround on the application level. > Apparently all packets sent to a specific address are sent to the first socket > which has been bound to the address. If that socket has been closed, the > next in > line gets the packets (unless it has been connected and the sender is not the > connected address). So what I did was this: > > Before starting step 14, I created a third socket, which then replaced the > server > socket:
Thank you, Corinna, for the reply and for the idea. Unfortunately, the workaround will work well only in the case of a single client. In the multiple clients scenario, it will create a sort of race condition: 1) some packets already scheduled by OS to the "original" packet will be lost; 2) some packets delivered in between the sockets destruction/creation will be wrongly rejected. But this is better than nothing. I'll think whether we can live with it. Regards, Oleg