str is expected to be an explicit address, not a hostname. No hostname resolution is done. This attempts to recognize and process a port value if present. It is set appropriately, or to zero if no port was found or it was malformed.
It is intended to deal with the brackets that can optionally surround an IP address (usually IPv6) which in turn are used to differentiate between an address and an attached port. E.g.
This API may be changed in the future version since it is experimental.