您的位置:首页 > 理论基础 > 计算机网络

Qt的tcpserver demo

2014-04-02 15:53 302 查看
mainwindow.cpp

#include "mainwindow.h"

#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

this->ininServer();

}

MainWindow::~MainWindow()

{

delete ui;

}

void MainWindow::ininServer()

{

this->listenSocket =new QTcpServer;

this->listenSocket->listen(QHostAddress::Any,8888);

QObject::connect(this->listenSocket,SIGNAL(newConnection()),this,SLOT(processConnection()));

}

void MainWindow::processConnection()

{

this->readWriteSocket =this->listenSocket->nextPendingConnection();

QObject::connect(this->readWriteSocket,SIGNAL(readyRead()),this,SLOT(processText()));

}

void MainWindow::processText()

{

this->globalString+=this->readWriteSocket->readAll();

ui->textEdit->setText(this->globalString);

}

mainwindow.h

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include <QMainWindow>

#include <QtNetwork/QTcpServer>

#include <QtNetwork/QHostAddress>

#include <QtNetwork/QTcpSocket>

namespace Ui {

class MainWindow;

}

class MainWindow : public QMainWindow

{

Q_OBJECT

public:

explicit MainWindow(QWidget *parent = 0);

~MainWindow();

void ininServer();

private:

Ui::MainWindow *ui;

QString globalString;

QTcpServer *listenSocket; // 侦听套接字

QTcpSocket *readWriteSocket;//读写套接字

private slots:

void processConnection();

void processText();

};

#endif // MAINWINDOW_H

main.cpp

#include <QtGui/QApplication>

#include "mainwindow.h"

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

{

QApplication a(argc, argv);

MainWindow w;

w.show();

return a.exec();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: