socket: data-flow