RadioTuner/client.cpp
Brandon Rozek 86b0d07829 Basic Implementation of Radio Server/Client
Client written in QT and communicates to SDR server over TCP sockets.

Currently getting and setting frequencies is supported
2019-05-14 23:09:55 -04:00

42 lines
1 KiB
C++

#include "client.h"
#include <QString>
#include <QTcpSocket>
#include <iostream>
Client::Client(QObject *parent) : QObject(parent) {
socket = new QTcpSocket(nullptr);
socket->connectToHost("localhost", 65432);
socket->waitForConnected();
std::cout << "Connected" << std::endl;
}
Client::~Client() {
socket->close();
}
void Client::send(QString data) {
std::cout << "SENDING MESSAGE: \"" << data.toStdString() << "\"" << std::endl;
QByteArray dataStream = data.toUtf8();
socket->write(dataStream);
}
QString Client::recv(void) {
socket->waitForReadyRead(1000);
QByteArray data = socket->readAll();
QString msg = QString(data);
std::cout << "RECEIVED MESSAGE SO FAR: \"" << msg.toStdString() << "\"" << std::endl;
return msg;
}
void Client::setFrequency(double freq) {
QString msg = QString(":FREQ=");
msg.push_back(QString::number(freq));
msg.push_back(";");
this->send(msg);
}
double Client::getFrequency(void) {
this->send(QString("?FREQ;"));
return this->recv().toDouble();
}