目录
一、基于QT4的服务器及其客户端搭建
(一)server
(一)server.pro
QT += core gui network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = tcpserver
TEMPLATE = app
SOURCES += \
main.cpp \
widget.cpp
HEADERS += \
widget.h
FORMS += \
widget.ui
(二)server.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QTcpServer>
#include <QTcpSocket>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public slots:
void accept_client();
void recv_data();
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
QTcpServer *server;
QTcpSocket *clientsock;
};
#endif // WIDGET_H
(三)main.cpp不变widget.cpp如下
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
server = new QTcpServer;
server->listen(QHostAddress::AnyIPv4, 8888);
connect(server, SIGNAL(newConnection()), this, SLOT(accept_client()));
}
void Widget::accept_client()
{
//提取接入
clientsock = server->nextPendingConnection();
connect(clientsock, SIGNAL(readyRead()), this, SLOT(recv_data()));
}
void Widget::recv_data()
{
qDebug() << clientsock->readAll();
}
Widget::~Widget()
{
delete ui;
}
(一)client
(一)client.pro
QT += core gui network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = tcpclient
TEMPLATE = app
SOURCES += \
main.cpp \
widget.cpp
HEADERS +=