QT中 实现一个服务端接收两个客户端的解决方法

本文介绍了在QT中如何实现一个TCP服务端,以接收并处理来自两个及以上客户端的连接请求。针对新手,通过简化代码示例,详细解析了关键的实现步骤和方法。
摘要由CSDN通过智能技术生成

最近自己在折腾QT中实现TCP服务端的过程中,发现以往的例子都是点对点的,也就是说大都是一个客户端,一个服务端,然后两个进行通信,而对于单个服务端与多个客户端的通信,非常稀少,找到一个但对于我们新手来说,有点复杂,不好理解,下面我介绍一个新手也能明白的一种解决方案。

下面是mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QTcpServer>
#include <QTcpSocket>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void on_pushButton_listen_clicked();

    void on_pushButton_send_clicked();

    void ClientReadData(/*int clientID,QString IP,int Port,QByteArray data*/);


    void server_New_Connect();

    void socket_Read_Data();

    void socket2_Read_Data();

    void socket_Disconnected();

private:
    Ui::MainWindow *ui;
    QTcpServer* server;
    QTcpSocket* socket;
    QTcpSocket* socket2;
};

#endif // MAINWINDOW_H

下面是main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}
下面是mainwindow.cpp

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值