qt 网页服务器,Qt HTTP服务器?

#-------------- Project file webServer3.pro -------

QT += core

QT += network

QT -= gui

TARGET = webServer3

CONFIG += console

CONFIG -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

HEADERS +=

myhttpserver.h

/*------------------header file myhttpserver.h --------------*/

#ifndef MYHTTPSERVER

#define MYHTTPSERVER

#include

#include

#include

#include

#include

#include

#include

class myHTTPserver : public QObject

{

Q_OBJECT

public:

explicit myHTTPserver(QObject *parent = 0);

~myHTTPserver();

QTcpSocket *socket ;

public slots:

void myConnection();

private:

qint64 bytesAvailable() const;

QTcpServer *server;

signals:

};

/*------------------------main.cpp -------------------------*/

#include "myhttpserver.h"

using namespace std;

void delayms( int millisecondsToWait );

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

myHTTPserver server;

return a.exec();

}

myHTTPserver::myHTTPserver(QObject *parent) : QObject(parent)

{

server = new QTcpServer(this);

// waiting for the web brower to make contact,this will emit signal

connect(server, SIGNAL(newConnection()),this, SLOT(myConnection()));

if(!server->listen(QHostAddress::Any,8080))cout<< "nWeb server could not start";

else cout<

}

void myHTTPserver::myConnection()

{

static qint16 count; //count number to be displayed on web browser

socket = server->nextPendingConnection();

while(!(socket->waitForReadyRead(100))); //waiting for data to be read from web browser

char webBrowerRXData[1000];

int sv=socket->read(webBrowerRXData,1000);

cout<

for(int i=0;i

cout<

socket->write("HTTP/1.1 200 OKrn"); // r needs to be before n

socket->write("Content-Type: text/htmlrn");

socket->write("Connection: closern");

socket->write("Refresh: 1rnrn"); //refreshes web browser every second. Require two rn.

socket->write("rn");

socket->write("

Number of seconds since connected.. ");

QByteArray str;

str.setNum(count++); //convert int to string

socket->write(str);

socket->write(" nn");

socket->flush();

connect(socket, SIGNAL(disconnected()),socket, SLOT(deleteLater()));

socket->disconnectFromHost();

}

myHTTPserver::~myHTTPserver()

{

socket->close();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值