Qt中创建TCP服务端

Qt中创建TCP服务端

1. .pro文件

必修在.pro文件中添加如下一句

QT += network

头文件

#include 
#include 
#include 

2.建立服务端、监听

    QTcpServer *tcpServer;
    QTcpSocket *tcpSocket;
    tcpServer = new QTcpServer(this);//建立服务器
    
    QString IP = ui->comboIP->currentText();//获取需要监听的IP
    quint16 port = ui->spinPort->value();//获取需要监听的端口号
    QHostAddress addr(IP);
    tcpServer->listen(addr,port);//开始监听
    //或者
    tcpServer->listen(QHostAddress::LocalHost,1200);
    //或者
    tcpServer->listen(QHostAddress::Any, 1200);

3.获取本地IP方法

QString MainWindow::getLocalIP()
{
    QString hostName = QHostInfo::localHostName();//本机名称
    QHostInfo hostInfo = QHostInfo::fromName(hostName);//本机地址
    QString localIP = "";
    QList<QHostAddress> addList = hostInfo.addresses();//本机Ip列表
    if(addList.isEmpty() == 0)
    {
        for(int i=0;i<addList.count();i++)
        {
            QHostAddress Host = addList.at(i);
            if(QAbstractSocket::IPv4Protocol == Host.protocol())//是否是IPv4地址协议类型
            {
                localIP = Host.toString();
                break;
            }
        }
    }
    return localIP;
}

4.发送、接收数据与客户端一样,可参照上一篇创建客户端博客

你可能感兴趣的:(Qt)