写了一个QT程序和一个C程序,如何把QT程序里发出的QByteArray类型数据,让C程序接收到或者是处理识别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写了一个QT程序和一个C程序,如何把QT程序里发出的QByteArray类型数据,让C程序接收到或者是处理识别?相关的知识,希望对你有一定的参考价值。
部分程序如下:(用到了tcp协议)
QT部分:
QByteArray bump;
QTcpSocket->write(bump);
C部分:
uchar GsmRcvAt[50];
就是把bump 数据装到 GsmRcvAt 就行,(我不知道如何变换类型)
程序我基本写好了,从单片机传过来的数据在qt上能识别,但是qt传数据给单片机,不知道如何处理了。。。。。。
QT程序socket的readyRead信号不触发
我写了一个qt网络程序,在程序里有一个线程thread,thread的run中new了一个qtcpsocket。
代码很长,我大概意思一下:
run()
socket = new QTcpSocket();
connect(socket,SIGNAL(readyRead()),this,SLOT(onRead()));
while(1)
死循环
编译通过以后,运行时发现readyRead信号根本没有发出,但是用端口监听工具可以看到这个socket是有接收到数据的。
是否跟死循环有关?不改变线程的死循环结构的话,我应该怎样做才能让socket发出readyRead信号?
这是qtcpsocket不是qtcpserver,不需要listen的吧。
这个死循环是功能决定的,没办法。
m_tcpSocket = m_tcpServer->nextPendingConnection(); //得到每个连进来的socket
自己看吧,
以上是关于写了一个QT程序和一个C程序,如何把QT程序里发出的QByteArray类型数据,让C程序接收到或者是处理识别?的主要内容,如果未能解决你的问题,请参考以下文章
我在windows下用QT写了个程序,把这个源代码直接在linux下编译可以吗?