There are a couple of things wrong with what you're doing:
(1) The TCPConnection.server property is only valid for incoming connections. It returns your local TCPListener that created this connection object in response to an incoming TCP connection. If called on an outgoing connection, as you're doing, it just returns nil.
(2) The TCPListener.bonjourServiceName property is local. You set it on your listener to define what Bonjour service it should advertise. It has nothing to do with the names of other services you find on the network.
There's no direct association between an outgoing TCPConnection and a Bonjour service. The connection just knows what IP address and port it's connected to.
—Jens