C++ 通过qt读取tcpsocket
嗨,我想用qt通过以太网从FPGA接收数据。我可以将数据写入fpga,但不幸的是我无法接收数据。在将x“c000”写入fpga后,它应该会发送数据,但我的代码没有工作。 我写这段代码是为了接收数据,但我不能帮我C++ 通过qt读取tcpsocket,c++,qt,qtcpsocket,C++,Qt,Qtcpsocket,嗨,我想用qt通过以太网从FPGA接收数据。我可以将数据写入fpga,但不幸的是我无法接收数据。在将x“c000”写入fpga后,它应该会发送数据,但我的代码没有工作。 我写这段代码是为了接收数据,但我不能帮我 QByteArray ba2; ba2.resize(2); ba2[0] = 0x00; ba2[1] = 0xc0; Client ob; ob.connectToHost()
QByteArray ba2;
ba2.resize(2);
ba2[0] = 0x00;
ba2[1] = 0xc0;
Client ob;
ob.connectToHost();
ob.writeData(ba2);
QByteArray Client:: readback(QByteArray data)
{
qDebug() << socket->readAll();
return data;
}
void Client::connectToHost()
{
socket->connectToHost("192.168.100.17", 1134);
}
void Client::close()
{
socket->close();
}
Client::Client(QObject *parent) : QObject(parent)
{
socket = new QTcpSocket();
connect(socket, SIGNAL(readyRead()), this, SLOT(readback(QByteArray data)));
}
QByteArray-ba2;
ba2.调整大小(2);
ba2[0]=0x00;
ba2[1]=0xc0;
客户ob;
ob.connectToHost();
ob.writeData(ba2);
QByteArray客户端::回读(QByteArray数据)
{
qDebug()readAll();
返回数据;
}
无效客户端::connectToHost()
{
套接字->连接到主机(“192.168.100.17”,1134);
}
void客户端::close()
{
套接字->关闭();
}
客户端::客户端(QObject*父级):QObject(父级)
{
套接字=新的QTcpSocket();
连接(套接字,信号(readyRead()),此,插槽(readback(QByteArray数据));
}
异步尝试:
auto t = make_unique<QTcpSocket>();
QObject::connect(t.data(),&QTcpSocket::connected,[&t](){
QDataStream writer(t.data());
writer << static_cast<quint16>(0xc000);
});
QObject::connect(t.data(),&QTcpSocket::readyRead,[&t](){
qDebug() << t->readAll();
});
auto t=make_unique();
QObject::connect(t.data(),&QTcpSocket::connected,[&t](){
QDataStream编写器(t.data());
writer您在该线程中有事件循环吗?您是否以某种方式阻止了它(例如,while(true)
)?