What is a TCP/IP Socket Connection ?
A socket programming interface provides the routines required for interprocess communication between applications, either on the local system or spread in a distributed, TCP/IP based network environment. Once a peer-to-peer connection is established, a socket descriptor is used to uniquely identify the connection. The socket descriptor itself is a task specific numerical value.
- Internet address
for example 127.0.0.1 (in an IPv4 network) or FF01::101 (in an IPv6 network).
- Communication protocol
- User Datagram Protocol (UDP)
- Transmission Control Protocol (TCP)
- Port A numerical value, identifying an application. We distinguish between
- "well known" ports, for example port 23 for Telnet
- user defined ports
Socket applications were usually C or C++ applications using a variation of the socket API originally defined by the Berkeley Software Distribution (BSD). The JAVA language also provides a socket API. JAVA based Client/Server applications exploit those socket services.
Socket programming interfaces have been standardized for ease of portability by The Open Group for example.
Besides TCP/IP based sockets, UNIX systems provide socket interfaces for interprocess communication (IPC) within the local UNIX host itself. Those UNIX sockets use the local file system for interprocess communication.
z/VSE provides TCP/IP based socket services. They can be used for IPC too, although they are primarily aimed for network communication only.