帮帮我 很难弄啊 qt 多线程 tcp
废话少说,服务器是lamp,用qt写的监听端口程序,dtu是设定好的,往服务器这个ip的某个端口主动发起连接时候,服务器怎么能监听到,监听到了以后从我的数据库里面读取传感器的id和要发送的命令,因为传感器很多,也就是dtu很多,最好用多线程是吧?并且要求发送采集的命令几乎要同一时间发出,以保证得到的数据也是同一时间的,我觉得这要用多线程。然后继续监听端口,传感器会接到命令后自动返回采集的数据,服务器怎么监听呢?监听后写到数据库。有大侠给指点一二,或者哪有开源的代码(有点不好意思啊)?? qt 多线程 tcp
[解决办法]
Qt官方的例子:
Fortune Server Example
简单的说就是Qt封装了一个QTcpServer的类,用这个玩意就可以了,十分的方便
void ForwardServer::incomingConnection(int socketDescriptor)
{
ForwardLink *link = new ForwardLink(socketDescriptor);
connect(this, SIGNAL(serverSendLogMSG(QByteArray)), link, SLOT(receiveAndSendLog(QByteArray)));
QThread *thread = new QThread(this);
link->moveToThread(thread);
connect(link, SIGNAL(destroyed()), thread, SLOT(quit()));
connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));
connect(thread, SIGNAL(finished()), link, SLOT(deleteLater()));
thread->start();
}