Qt实现局域网通信
Qt可以通过Qt Network模块实现局域网通信,包括TCP、UDP、HTTP等协议。下面给出一个基于TCP协议的局域网通信的示例,包括客户端和服务端。
服务端:
// server.h
#ifndef SERVER_H
#define SERVER_H
#include <QTcpServer>
#include <QTcpSocket>
class Server : public QTcpServer
{
Q_OBJECT
public:
explicit Server(QObject *parent = nullptr);
signals:
void receivedMessage(const QString &message);
protected:
void incomingConnection(qintptr socketDescriptor) override;
private:
QList<QTcpSocket *> m_clients;
};
#endif // SERVER_H
// server.cpp
#include "server.h"
Server::Server(QObject *parent) : QTcpServer(parent)
{
}
void Server::incomingConnection(qintptr socketDescriptor)
{
QTcpSocket *client = new QTcpSocket(this);
client->setSocketDescriptor(socketDescriptor);
connect(clien