The threads are Thread-based classes. Access to the socket is controlled via a Lock.
Sending works but reception does not. There is definitely data being sent over the socket in both directions since Wireshark shows it. Strangely, if I run the code in the Visual Code IDE and I apply a breakpoint anywhere where it will not be hit, this tickles the socket into giving up its data.
Any thoughts please?