Does a client application need to create more than one connection object?
No. For normal case, a client application only needs one connection object. But, a client application can create more than one connection in some circumstances, e.g if a subscriber is created with NoLocal set to true, and using two connections in one client application allows the subscriber still be able to receive message sent within the same client application.