In design, it is not unlike the BSD sockets API. Some of the terminology
differs however: in the sequential API, the term
connection is used for any communication link
between network peers, and the handle for a connection is termed a
netconn. A netconn can be considered analogous
to a socket, albeit specific to networking - BSD sockets traditionally
represent both network connections and files.
The main reason for superiority over the socket API occurs with buffer
management. The BSD socket API was designed to manage the fact that the
user and the operating system kernel operate in different address spaces
and data must always be copied regardless. This results in not only
decreased performance, but also increased footprint as buffers must be
allocated to hold the copied data.