concept

Berkeley Sockets

Berkeley Sockets is a programming interface (API) for network communication, originally developed for Unix systems at UC Berkeley in the 1980s. It provides a standard set of functions for creating, connecting, sending, and receiving data over network sockets, enabling applications to communicate across networks using protocols like TCP and UDP. This API has become the de facto standard for network programming in many operating systems, including Windows (as Winsock) and modern Unix-like systems.

Also known as: BSD Sockets, Socket API, Network Sockets, Winsock (Windows implementation), Unix Sockets (context-specific)
🧊Why learn Berkeley Sockets?

Developers should learn Berkeley Sockets when building networked applications that require low-level control over network communication, such as custom servers, clients, or real-time systems. It is essential for understanding fundamental networking concepts like TCP/IP, UDP, and socket states, and is widely used in embedded systems, game development, and legacy codebases. However, for higher-level applications, developers might prefer modern abstractions like HTTP libraries or WebSockets.

Compare Berkeley Sockets

Learning Resources

Related Tools

Alternatives to Berkeley Sockets