This is a Windows Firewall issue, not a code bug. Here's what's happening:
UDP discovery (broadcast, port 41234) works fine -- all machines see each other. But TCP file transfer (port 41235) requires the receiver's firewall to allow inbound connections.
- Local -> COMPUTER1: Works because COMPUTER1's firewall allows inbound TCP
- Local -> COMPUTER2: Fails because COMPUTER2's firewall blocks inbound TCP
- COMPUTER2 -> Local: Fails because your local machine's firewall also blocks inbound TCP
When the app first starts listening, Windows shows a firewall prompt. If it was dismissed or denied on COMPUTER2 and/or your local machine, inbound connections are silently dropped (= "Connect timed out" after 5 seconds).