Hi Fábio,
after a check, I found that reopening a closed PacketSocket isn't that obvious. And performing a 2nd Connect isn't obvious either.
It seems that the socket is made to be used, closed and destroyed.
Tbh it's not a big surprise, PacketSocket are really extremely low-level things, and they're not really meant to be used as a general purpose socket.
One possible solution could be to use TWO PacketSockets, but you'll have to use different "Protocols" in the addresses. Plus, the underlying NetDevice will have to respect the protocol, and that's not granted (e.g., lr-wpan doesn't).
If you can't use two PacketSockets, I can try to modify the actual PacketSocket adding a "reset", but it's more or less equivalent to perform a Close () and then using a completely new PacketSocket.
Indeed, this seems to be the "normal" system: Close the old, trash it and create a new one.
Cheers,
T.
PS: note that if you don't Close the old one, bad things will happen.