So I guess that's what they have done in bnet/tnet etc.
No, not in TNet, and I guess not in BNet either. Even TNet stalls when you initiate a TCP connection. That is why I do not use Peer to Peer TCP yet. However if the location you connect to is close, the time to connect is just a couple of milliseconds, so you might not notice. UDP on the other hand is running while connecting without problems.If you want to learn how to do it yourself I could send you the source to "TNet_Core". Which is a wrapper for the blitzmax socket functions to make the creation and working with sockets easier. Mail me and I will mail it to you (for free). It is what TNet Advanced is built upon.