// Code to be executed by the thread
void *vncHTTPConnectThread::run_undetached(void * arg)
{
    vnclog.Print(LL_INTINFO, VNCLOG("started HTTP server thread\n"));

    // Go into a loop, listening for connections on the given socket
    while (!m_shutdown)
    {
        // Accept an incoming connection
        VSocket *new_socket = m_socket->Accept();
        if (new_socket == NULL)
            break;

        vnclog.Print(LL_CLIENTS, VNCLOG("HTTP client connected\n"));

        // Successful accept - perform the transaction
        new_socket->SetTimeout(15000);
        DoHTTP(new_socket);

        // And close the client
        new_socket->Shutdown();
        new_socket->Close();
        delete new_socket;
    }

    vnclog.Print(LL_INTINFO, VNCLOG("quitting HTTP server thread\n"));

    return NULL;
}
Exemplo n.º 2
0
// Code to be executed by the thread
void *vncSockConnectThread::run_undetached(void * arg)
{
    //vnclog.Print(LL_STATE, VNCLOG("started socket connection thread\n"));

    // Go into a loop, listening for connections on the given socket
    while (!m_shutdown)
    {
        // Accept an incoming connection
        VSocket *new_socket = m_socket->Accept();
        if (new_socket == NULL)
            break;

        //vnclog.Print(LL_CLIENTS, VNCLOG("accepted connection from %s\n"), new_socket->GetPeerName());

        // Successful accept - start the client unauthenticated
        m_server->AddClient(new_socket, FALSE, FALSE);
    }
    //vnclog.Print(LL_STATE, VNCLOG("quitting socket connection thread\n"));

    return NULL;
}