Sockets
Sockets are endpoints for inter-process communication. They provide a standardized interface for exchanging data across a network or between processes on the same host. A socket represents a bidirectional channel rather than the data itself.
Network sockets can be stream-oriented or datagram-oriented. Stream sockets use TCP to provide reliable, connection-oriented delivery;
Sockets are addressed by a combination of address and port. IP sockets use an IP address and
Typical usage involves creating a socket, binding it to an address, and either listening for connections (server)
APIs differ by platform. The POSIX/BSD sockets API is common on Unix-like systems; Windows provides Winsock.
Security and performance considerations include encryption (for example TLS over sockets), authentication, firewall rules, and tuning