When a computer program needs to connect to a local or wide area network such as the Internet, it uses a software component called a socket. The socket opens the network connection for the program, allowing data to be read and written over the network. It is important to note that these sockets are software, not hardware, like a wall socket. So, yes, you have a much greater chance of being shocked by a wall socket than by a networking socket.
Sockets are a key part of Unix and Windows-based operating systems. They make it easy for software developers to create network-enabled programs. Instead of constructing network connections from scratch for each program they write, developers can just include sockets in their programs. The sockets allow the programs to use the operating system’s built-in commands to handle networking functions. Because they are used for a number of different network protocols (i.e. HTTP, FTP, telnet, and e-mail), many sockets can be open at one time.