QTcpServer: отправьте HTTP / 1.0 200 OK на подключенный клиент - PullRequest
1 голос
/ 15 апреля 2011

Я настроил QTcpServer для прослушивания потока Shoutcast.Сигнал newConnection () - срабатывает как следует:

connect(tcpServer, SIGNAL(newConnection()), this, SLOT(handleClientComm()));

void IcecastServer::handleClientComm(){
    QTcpSocket *clientConnection = tcpServer->nextPendingConnection();
    qDebug() << clientConnection->write("HTTP/1.0 200 OK\r\n\r\n" ) << endl;
    clientConnection->flush();
}

Как отправить HTTP 200?

1 Ответ

1 голос
/ 15 апреля 2011

Вы должны извлечь объект QTcpSocket из QTcpServer с помощью вызова nextPendingConnection (), когда был получен сигнал newConnection ().И затем вы должны вызвать writeData () для извлеченного объекта QTcpSocket.

Ключевым моментом здесь является то, что прослушивающий сокет (QTcpServer) отвечает только за создание сокетов подключения (или QTcpSocket) каждый раз, когда подключается новый клиент.И QTcpSocket отвечает за фактическое общение с конкретным клиентом.

Может быть, вы можете быть более конкретным, что именно у вас не работает и что вы пробовали?Также было бы неплохо, если бы вы могли предоставить нам wireshark PCAP, если что-то не работает должным образом?

...