Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 通过qt读取tcpsocket_C++_Qt_Qtcpsocket - Fatal编程技术网

C++ 通过qt读取tcpsocket

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()

嗨,我想用qt通过以太网从FPGA接收数据。我可以将数据写入fpga,但不幸的是我无法接收数据。在将x“c000”写入fpga后,它应该会发送数据,但我的代码没有工作。 我写这段代码是为了接收数据,但我不能帮我

         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)
)?