Calls to Bind() already initialise iPort so remove duplicate initialisation inside constructors (which could also result in the wrong value being set in the unusual case where clients explicitly pass 0 for aPort).