tcp服务器端与多个客户端连接

如果希望Tcp服务器端可以与多个客户端连接,可以这样写:

    tcpServer=new QTcpServer(this);
    connect(tcpServer,SIGNAL(newConnection()),this,SLOT(onNewConnection()));
void MainWindow::onNewConnection()
{
    QTcpSocket *tcpSocket;//TCP通讯的Socket
    tcpSocket = tcpServer->nextPendingConnection(); //创建socket
    qDebug()<<"tcpSocket:"<<tcpSocket;
    connect(tcpSocket, SIGNAL(connected()),
            this, SLOT(onClientConnected()));
    emit tcpSocket->connected();

    connect(tcpSocket, SIGNAL(disconnected()),
            this, SLOT(onClientDisconnected()));

    connect(tcpSocket,SIGNAL(stateChanged(QAbstractSocket::SocketState)),
            this,SLOT(onSocketStateChange(QAbstractSocket::SocketState)));
    emit tcpSocket->stateChanged(tcpSocket->state());

    connect(tcpSocket,SIGNAL(readyRead()),
            this,SLOT(onSocketReadyRead()));
}

相关的槽函数中:

void MainWindow::onClientConnected()
{//客户端接入时
    QTcpSocket* tcpSocket=(QTcpSocket*)sender();
    ui->plainTextEdit->appendPlainText("**client socket connected");
    ui->plainTextEdit->appendPlainText("**peer address:"+
                                   tcpSocket->peerAddress().toString());
    ui->plainTextEdit->appendPlainText("**peer port:"+
                                   QString::number(tcpSocket->peerPort()));
}

使用sender()来获取对应的QTcpSocket对象。

其实,主要就是QTcpServer进行监听:

客户端的QTcpSocket与服务器端的QTcpSocket进行通信。

相关推荐

  1. QT TCP通讯客户服务

    2024-04-27 15:58:03       51 阅读
  2. 客户服务之间的通信连接

    2024-04-27 15:58:03       30 阅读
  3. 异步TCP服务器;异步TCP客户

    2024-04-27 15:58:03       21 阅读
  4. esp32服务器android客户tcp通讯

    2024-04-27 15:58:03       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-27 15:58:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-27 15:58:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-27 15:58:03       82 阅读
  4. Python语言-面向对象

    2024-04-27 15:58:03       91 阅读

热门阅读

  1. 大话人工智能之(一)深度学习概念

    2024-04-27 15:58:03       30 阅读
  2. 【pytorch】TensorBoard的使用

    2024-04-27 15:58:03       29 阅读
  3. 电路邱关源学习笔记——3.2KCL和KVL的独立方程数

    2024-04-27 15:58:03       23 阅读
  4. c入门基础题(3)

    2024-04-27 15:58:03       29 阅读
  5. 华为机试:夺宝奇兵

    2024-04-27 15:58:03       24 阅读
  6. 深入解析JVM G1 垃圾回收器

    2024-04-27 15:58:03       31 阅读
  7. ARP模块——计算机网络

    2024-04-27 15:58:03       31 阅读
  8. 华纳云:怎么设计DDoS抵抗力强的网络架构?

    2024-04-27 15:58:03       34 阅读