Sockets can be connected or unconnected. Unconnected sockets are produced by the socket() call. An unconnected socket can become a connected socket by:
Stream sockets require a connection before you can transfer data. Other types of sockets, such as datagram sockets, need not establish connections before use.