function listen()
    {
        $sockUri = $this->getServerAddress();
        if (!$this->isBinding())
            throw new \Exception('Server not bind as local server.');

        // knowing transport/wrapper:
        $scheme  = parse_url($sockUri, PHP_URL_SCHEME);
        if ($scheme == 'udp')
            $resource = $this->_listen_to_connectLessTransport();
        else
            $resource = $this->_listen_to_connectionOrientatedTransports();

        if ($resource === false)
            throw new \Exception(sprintf(
                'Failed To Accept Connection, %s.'
                , error_get_last()['message']
            ));

        return new Streamable($resource);
    }