QTcpSocket 怎样统计在线时长

[复制链接]
发表于 2025-11-12 02:47:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
      
  • 根本原理
         
    • QTcpSocket是 Qt 库中用于 TCP 通讯的类。要统计在线时长,关键思绪是纪录毗连创建的时间和当前时间,通过盘算两者的差值来得到在线时长。   
      
  • 实现步调
         
    • 纪录毗连创建时间:
              
      • 在毗连乐成的信号槽函数中纪录开始时间。比方,当QTcpSocket乐成毗连到服务器时,会发出connected()信号。可以在对应的槽函数中利用QDateTime类来纪录毗连时间。      
      • 示例代码如下:     
         收起
      cpp
      1. #include <QDateTime>
      2. #include <QTcpSocket>
      3. // 假设这是你的类,其中包含QTcpSocket对象tcpSocket
      4. class MyClass
      5. {
      6. public:
      7.     MyClass()
      8.     {
      9.         connect(&tcpSocket, SIGNAL(connected()), this, SLOT(onConnected()));
      10.     }
      11. private slots:
      12.     void onConnected()
      13.     {
      14.         connectStartTime = QDateTime::currentDateTime();
      15.     }
      16. private:
      17.     QTcpSocket tcpSocket;
      18.     QDateTime connectStartTime;
      19. };
      复制代码
         
    • 盘算在线时长:
              
      • 须要在得当的时间(好比断开毗连大概定期查抄)盘算在线时长。可以通过获取当前时间QDateTime::currentDateTime(),然   
        

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表