0.参考资料
https://blog.csdn.net/y____xiang/article/details/80398913
QT案例
1.主要内容
在qt中的网络编程和之前在windows中的网络编程的基本步骤是一样的,服务器有两个套接字,一个负责监听(QTcpServer),还有一个负责通信(QTcpSocket),客户端只有一个负责通信的套接字(QTcpSocket)。QT案例中还提供了别的类,暂时不用上,像QNetworkConfigurationManager这种。
2.主要函数
(1)寻找可用IP地址
/********寻找当前计算机的可用IP地址并添加到复选框********/
QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
for (int i = 0; i < ipAddressesList.size(); ++i)
{
if (!ipAddressesList.at(i).isLoopback())
{
address->addItem(ipAddressesList.at(i).toString());
}
}
(2)断开
tcpSocket->abort();//断开连接并清空缓冲区
(3)写数据
tcpSocket->write(const QByteArray &data)
(4)读数据
connect(socket, &QTcpSocket::readyRead, this, &tcpmaster::readData);
QByteArray data = socket->readAll();
(5)客户端连接
tcpSocket->connectToHost(address->currentText(), port->text().toInt());连接函数
(6)服务器端连接
if (server->listen(QHostAddress::Any, port->text().toInt()))
{
connect(server, &QTcpServer::newConnection, this, &tcpmaster::newconnectslot);
}
void tcpmaster::newconnectslot()
{
socket = server -> nextPendingConnection();
}