I think the best thing might be to post the relevant piece of code (one of the loops), or at least an image of it (no BMPs, please).
In any case, a listener waits for someone to "call" and then tells you that they called and gives you their address. It doesn't pass information and you will still need to use the read and write VIs. Also, it can only help if your gateways can call. In any case, all that example shows is how to use the close VI.
The basic conception should be
"try to connect until you succeed (loop #1), then read\write until there is an error or consecutive error (loop #2), then close the connection and repeat unless stopped (external loop, #3)". You can see an example of something like this
here.
___________________
Try to take over the world!