标签:Qt QMyHttpServer 0.1 QtHttpServer dll QHttpRequest master qhttpserver pServer
1、下载QtHttpServer,并解压到E:/qhttpserver-master
https://github.com/qt-labs/qthttpserver
2、下载第三方依赖http-parser,并解压到E:/qhttpserver-master/http-parser
https://github.com/nodejs/http-parser
3、用Qt 5.9.8打开E:/qhttpserver-master/qhttpserver.pro,编译Debug和Release两个版本,
在E:/qhttpserver-master/lib目录下生成三个文件:
libqhttpserver.a、qhttpserverd.dll、qhttpserver.dll
头文件包含:
qhttpconnection.h、qhttprequest.h、qhttpresponse.h、qhttpserver.h、
qhttpserverapi.h、qhttpserverfwd.h
4、例子:
创建qt工程,pro文件中添加:Qt += network
CONFIG(debug,debug|release):LIBS += $$PWD/lib/qhttpserverd.dll
else:LIBS += $$PWD/lib/qhttpserver.dll
INCLUDEPATH += httpserver
5、创建QMyHttpServer类,基于QObject,定义变量
private:
QHttpServer* m_pServer;
QHttpRequest* m_pRequest;
QHttpResponse* m_pResponse;
QString m_strRequest;
6、初始化服务
m_pServer = new QHttpServer(this);
connect(m_pServer,SIGNAL(newRequest(QHttpRequest*,QHttpResponse*)),this,SLOT(handleRequest(QHttpRequest*,QHttpResponse*)));
m_pServer->listen(QHostAddress::Any,8019);
7、注册信号:
void QMyHttpServer::handleRequest(QHttpRequest* request,QHttpResponse* response)
{
m_pRequest = request;
m_pResponse= response;
connect(m_pRequest,SIGNAL(data(QByteArray)),this,SLOT(appendBody(QByteArray)));//有数据来时存起来
connect(m_pRequest,SIGNAL(end()),this,SLOT(dealRequest()));//数据传输结束时处理
}
void QMyHttpServer::appendBody(QByteArray body)
{
m_strRequest += body;
}
void QMyHttpServer::dealRequest()
{
//处理
}
标签:Qt,QMyHttpServer,0.1,QtHttpServer,dll,QHttpRequest,master,qhttpserver,pServer 来源: https://www.cnblogs.com/zhangnianyong/p/16283136.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。