Qt中创建TCP服务端
1. .pro文件
必修在.pro文件中添加如下一句
QT += network
头文件
#include <QtNetwork/QTcpServer>
#include <QtNetwork/QTcpSocket>
#include <QtNetwork/QHostAddress>
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.发送、接收数据与客户端一样,可参照上一篇创建客户端博客