This makes this file into a socket ready for connections. The reason
for this function is so that you can set the socket to nonblocking
or blocking (default is blocking) before you call connect() .
If you give a port number to this function, the socket will be
bound to this port locally before connecting anywhere. This is
only useful for some silly protocols like FTP. You may also
specify an address to bind to if your machine has many IP numbers.
port can also be specified as a string, giving the name of the
service associated with the port.
Finally, a protocol family for the socket can be specified.
If no family is specified, one which is appropriate for the
address is automatically selected. Thus, there is normally
no need to specify it.