Exemplo n.º 1
0
 QFuture<void> run()
 {
     this->reportStarted();
     QFuture<void> future = QFuture<void>(this);
     reportFinished();
     return future;
 }
Exemplo n.º 2
0
    QFuture<int> run()
    {
        this->reportStarted();
        QFuture<int> future = QFuture<int>(this);

        int res = 10;
        reportFinished(&res);
        return future;
    }
Exemplo n.º 3
0
void ElisaServer::report(QString id)
{
    //check if user is already logged
    if(m_nickname!=""){
        QNetworkAccessManager *manager = new QNetworkAccessManager(this);

        //set urls
        QUrl url;
        url.setUrl("http://projectelisa.altervista.org/main/report/?target="+id);

        //bind network request
        QNetworkRequest request;
        request.setUrl(url);

        //define callback
        QNetworkReply * r;
        r = manager->get(request);
        connect(r,SIGNAL(finished()),this,SLOT(reportFinished()));
    } else {
    }
}
Exemplo n.º 4
0
void ServerSocket::service()
{
    if (socket->bind(service_port) != sf::Socket::Status::Done)
    {
        std::cout << "!ServerSocket: Error opening socket at port " << service_port << std::endl;
        reportFinished();
        return;
    }
    std::cout << "#ServerSocket: socket up at port " << service_port << std::endl;

    // Verify client knows we are here
    char buffer[1024];
    std::size_t received_count = 0;
    

    int wait_duration = 100000;
    long wait_start = game.getGameRunningTime();
 
    bool got_response = false;

    while ((game.getGameRunningTime() < wait_start + wait_duration) && !got_response)
    {
        if (socket->receive(buffer, sizeof(buffer), received_count, sender, senderPort) != sf::Socket::Done)
        {
            //std::cout << "no news" << std::endl; 
        }
        else
        {
            std::cout << "#ServerSocket: Got handshake from client. Continuing to loop" << std::endl;
            got_response = true;
        }
    }

    if (!got_response)
    {
        std::cout << "!SocketThread: Didn't get response from client in time during initial handshake" << std::endl;
        reportFinished();
        return;
    }

    while (!getFinished())
    {
        // First check if the server has anything to send to the client

        if (game.getServer()->stateHasChanged())
        {
            sendDeltas();
        }

        // Then receive the client's information

        if (socket->receive(buffer, sizeof(buffer), received_count, sender, senderPort) != sf::Socket::Done)
        {
        }
        else
        {
            std::cout << "#ServerThread: Client told us: " << buffer <<" first char: " << buffer[0] <<  std::endl;
            if (buffer[0] == 'u')
                game.getNetworkedInput()->up(service_port);
            else if (buffer[0] == 'd')
                game.getNetworkedInput()->down(service_port);
            else if (buffer[0] == 'l')
                game.getNetworkedInput()->left(service_port);
            else if (buffer[0] == 'r')
                game.getNetworkedInput()->right(service_port);
            else if (buffer[0] == 'x')
                reportFinished();
        }

    }

    std::cout << "#Server_thread: Exiting safely" << std::endl;
}