BNF Format for socket Protocol URI

<socket_connection_string> ::= "socket://"<inbound> | "socket://"<outbound>
<inbound> ::= empty string | ":" | ":"<portspec>
<outbound> ::= <host>":"<portspec>
<host> ::= host name | IP address | <wildcarded_DNS>
<wildcarded_DNS> ::= "*" *("."<domainlabel>) ;
; "*" followed by zero or more internet domain labels, separated by "."
<domainlabel> ::= internet domain label
<portspec> ::= <portnumber> |  <portrange> | "*"
<portnumber> ::= numeric port number
<portrange> ::= <portnumber>"-" | "-"<portnumber> | <portnumber>"-"<portnumber>

Note that, per RFC 3986, protocol schemes are case-insensitive. The above BNF reflects the normalized form.