An Internet socket is an entity that is the conduit interprocess endpoint for bidirectional socket communications flows from the Internet to applications on a computer or computers using a Web-based application. Communication sockets are a feature furnished by operating systems for the passing of information packets to and from applications such as browsers, Web-based word processing programs, and email clients, among others, from Transmission Control Protocol/Internet Protocol (TCP/IP) addresses online. In practice, socket subroutines, which can be written for Unix or Windows operating systems, take a socket type with its inherent communication style and a socket protocol with its inherent service type, and communicate information for the application making request for service. Unix socket communications are for client-server application architectures and function on requests from a client or clients to a server. Each socket has its own identifier and socket address and is capable of being used with several protocol types.
Types of sockets are classified according to their individual semantic communication properties, as processes require certain types of sockets. The basic categories of socket types are: Stream for virtual circuits, Dgram for datagrams, ConnDgram for connection datagrams, RDM for reliably deliverable messages, and Raw for a raw socket type. When remote and local socket types are communicating, they are called socket pairs, with both local and remote ports and addresses.
A standard rule set for transferring data is called a socket protocol, such as User Datagram Protocol/Internet Protocol (UDP/IP) or TCP/IP. Each socket type can have its own usual protocol for specific uses to gain support from a domain for communications to take place with local communications with Unix, Internet communication with TCP/IP or operating systems’ network driver domains (NDD) communications. Protocols have protocol families sharing corresponding addresses in a socket header file to be called and put to use.
Socket domains have properties, and in Unix the domain properties for socket communications pass files between processes from parent to child openings or by using individual Unix sockets. In Windows or general Internet usage, mostly Stream, Raw and NDD socket types are used in domain properties and layered atop or beside the TCP/IP. The socket types have domain addresses and port numbers and can provide source routing and security procedure capabilities and are usually frequency coded. NDD domain properties are used by Ethernet and other interfacing protocols, allowing sending and reception of datagram packets.
Servers are computer processes providing application service. They create a listening state socket on startup, awaiting instruction from a client program. TCP/IP servers can serve several clients simultaneously by establishing unique dedicated connection for each client, and then the socket is in a dedicated state. In socket communications, client-server applications are the two-way communications between Internet applications and individual computer applications.