客户端
对于我们网络编程中
客户端 服务器,Q的步骤
那在我们qt当中 因为qt是基于我们面向对象的编程
首先我们需要一个socket 就是QTcpSocket
我们需要从我们editline中获取我们输入的ip地址跟端口号
就是QString ip = ui->editline->text();
获取之后利用我们socket中的函数
socket->connectToHost(QHostAddress(ip),port.toShort());
其实这就可以了
然后我们需要判断我们的链接是否成功
如果成功socket会发出 connected信号
利用信号与槽
直接写为
connect(socket,QTcpSocket::connected,[this]{
QMessageBox::information(this,"标题","连接成功");
})
服务器
网络编程中服务器流程是
在我们QT当中其实没那么麻烦
TcpServer *server = new TcpServer;//用于在服务器端建立 TCP 连接,它就像是一个监听器,等待客户端连接请求。
server->listen(QHostAddress::AnyIPv4,8000);// 表示服务器将监听本机的所有 IPv4 地址。
如果监听到有链接进来 我们的server会发出信号newConnection
connect(server,&QTcpServer::newConnection,this,&Widget::newClientHandler);
这其实就结束了 然后我们需要把newClientHandler 这个函数给实现一下
void Widget::newClientHandler(){
//其主要功能是从服务器的等待连接队列中获取下一个已经建立连接的客户端套接字对象。
QTcpSocket *socket = server->nextPendingConnection();
socket->peerAddress();//获取客户端信息
socket->peerPort();
ui->lineEdit->setText(socket->peerAddress().toString());
ui->lineEdit_2->setText(QString::number(socket->peerPort()));
}