Example #1
0
void test_send_with_video()
{
    char *ident = (char *)malloc(128);
    strncpy(ident, "TEST", 128);

    VideoFeedClient *vclient = NULL;
    AuthenticationClient *auth = new AuthenticationClient(ahost, aport, std::string(ident));

    try
    {
        auth->authenticate();
    }
    catch (ConnectionError& ex)
    {
        std::cout << "Unable to connect to Firefly server" << std::endl;
        throw;
    }
    catch (...)
    {
        std::cout << "Unknown error" << std::endl;
        throw;
    }

    if (auth->is_authenticated())
    {
        vclient = new VideoFeedClient(auth->get_dyn_receiver_host(),
                                      auth->get_receiver_port(),
                                      auth->get_token());

        LeptonCamera *lep = new LeptonCamera();
        LeptonCameraContainer *lpc = new LeptonCameraContainer(lep);

        while (true)
        {
            lpc->getNextFrame();
            cv::Mat frame = lpc->getLatestFrame();
            vclient->send_frame(frame);

            cv::imshow("Lepton", frame);

            cv::waitKey(1);

//            break;
        }
    }

    getchar();

    delete auth;
    delete vclient;
}
Example #2
0
void test_sending()
{
    char *ident = (char *)malloc(128);
    strncpy(ident, "TEST", 128);

    VideoFeedClient *vclient = NULL;
    AuthenticationClient *auth = new AuthenticationClient(ahost, aport, std::string(ident));

    try
    {
        auth->authenticate();
    }
    catch (ConnectionError ex)
    {
        std::cout << "Unable to authenticate" << std::endl;
        throw;
    }
    catch (...)
    {
        std::cout << "Unknown error" << std::endl;
        throw;
    }

    if (auth->is_authenticated())
    {
        vclient = new VideoFeedClient(auth->get_dyn_receiver_host(),
                                      auth->get_receiver_port(),
                                      auth->get_token());

        try
        {
            std::stringstream test;
            test << auth->get_token();
            test << '\x00';
            test << 1 << '\x00' << 1 << '\x00' << 1 << '\x00';
            test << "frame";

            std::string _test = test.str();

            char *to_send = (char *)malloc(_test.length()+1);
            memcpy(to_send, _test.c_str(), _test.length()+1);

            std::cout << "Sending frame... ";
            for (unsigned int i = 0; i < _test.length(); i++)
                std::cout << (int)_test.at(i) << " ";
            std::cout << " done" << std::endl;

            vclient->send_bytes(to_send, _test.length()+1);
            std::cout << "Frame apparently sent" << std::endl;
        }
        catch (...)
        {
            throw;
        }
    }

    getchar();

    delete auth;
    delete vclient;
}