bool QHttpSocketEngine::connectToHost(const QHostAddress &address, quint16 port)
{
    Q_D(QHttpSocketEngine);

    // If the handshake is done, enter ConnectedState state and return true.
    if (d->state == Connected) {
        setState(QAbstractSocket::ConnectedState);
        return true;
    }

    if (d->state == ConnectSent && d->socketState != QAbstractSocket::ConnectedState)
        setState(QAbstractSocket::UnconnectedState);

    // Handshake isn't done. If unconnected, start connecting.
    if (d->state == None && d->socket->state() == QAbstractSocket::UnconnectedState) {
        setPeerAddress(address);
        setPeerPort(port);
        setState(QAbstractSocket::ConnectingState);
        d->socket->connectToHost(d->proxy.hostName(), d->proxy.port());
    }

    // If connected (might happen right away, at least for localhost services
    // on some BSD systems), there might already be bytes available.
    if (bytesAvailable())
        slotSocketReadNotification();

    return d->socketState == QAbstractSocket::ConnectedState;
}
Beispiel #2
0
void Request::requestReceived(const QString &peerAddress, const QStringList &header, const bool &is_http10, const QString &method, const QString &argument, const QHash<QString, QString> &paramsHeader, const QString &content, HttpRange *range, const int &timeSeekRangeStart, const int &timeSeekRangeEnd)
{
    if (!replyInProgress)
    {
        replyInProgress = true;
        clock.start();

        setPeerAddress(peerAddress);
        setHttp10(is_http10);
        setMethod(method);
        setArgument(argument);
        setTextContent(content);
        m_params = paramsHeader;
        m_range = range;
        m_header = header;
        this->timeSeekRangeStart = timeSeekRangeStart;
        this->timeSeekRangeEnd = timeSeekRangeEnd;

        emit readyToReply(method, argument, paramsHeader, isHttp10(), data(contentRole).toString(), getRange(), getTimeSeekRangeStart(), getTimeSeekRangeEnd());

        if (data(argumentRole) == "description/fetch") {
            // new renderer is connecting to server
            emit newRenderer(data(peerAddressRole).toString(), getPort(), getParamHeader("USER-AGENT"));
        }
    }
    else
    {
        qWarning() << QString("unable to read request (socket %1), a reply is in progress.").arg(socketDescriptor()).toUtf8().constData();
    }
}
void PeerWireClient::socketStateChanged(QAbstractSocket::SocketState state)
{
    setLocalAddress(socket.localAddress());
    setLocalPort(socket.localPort());
    setPeerName(socket.peerName());
    setPeerAddress(socket.peerAddress());
    setPeerPort(socket.peerPort());
    setSocketState(state);
}
Beispiel #4
0
void CNetworkConnection::socketStateChanged(QAbstractSocket::SocketState state)
{
    setLocalAddress(m_pSocket->localAddress());
    setLocalPort(m_pSocket->localPort());
    setPeerName(m_pSocket->peerName());
    setPeerAddress(m_pSocket->peerAddress());
    setPeerPort(m_pSocket->peerPort());
    setSocketState(state);
}
bool QHttpSocketEngine::connectToHostByName(const QString &hostname, quint16 port)
{
    Q_D(QHttpSocketEngine);

    setPeerAddress(QHostAddress());
    setPeerPort(port);
    d->peerName = hostname;

    return connectInternal();
}
bool QHttpSocketEngine::connectToHost(const QHostAddress &address, quint16 port)
{
    Q_D(QHttpSocketEngine);

    setPeerAddress(address);
    setPeerPort(port);
    d->peerName.clear();

    return connectInternal();
}
Beispiel #7
0
void WebSslInfo::fromMetaData(const QVariant& value)
{
    if (value.isValid() && value.type() == QVariant::Map)
    {
        QMap<QString, QVariant> metaData = value.toMap();
        if (metaData.value("ssl_in_use", false).toBool())
        {
            setCertificateChain(metaData.value("ssl_peer_chain").toByteArray());
            setPeerAddress(metaData.value("ssl_peer_ip").toString());
            setParentAddress(metaData.value("ssl_parent_ip").toString());
            setProtocol(metaData.value("ssl_protocol_version").toString());
            setCiphers(metaData.value("ssl_cipher").toString());
            setCertificateErrors(metaData.value("ssl_cert_errors").toString());
            setUsedCipherBits(metaData.value("ssl_cipher_used_bits").toString());
            setSupportedCipherBits(metaData.value("ssl_cipher_bits").toString());
        }
    }
}
void DhQAbstractSocket::DvhsetPeerAddress(const QHostAddress& x1) {
  return setPeerAddress(x1);
}