A connection-oriented socket that provides a bidirectional, sequenced, and unduplicated flow of data without record boundaries. Receipt of stream messages is guaranteed, and streams are well-suited to handling large amounts of data. Stream sockets are appropriate, for example, for implementations such as file transfer protocol (FTP), which facilitates transferring ASCII or binary files of arbitrary size. See also datagram socket, transport protocol.