找回密码
 立即注册
收起左侧

Qt QTcpSocket 中connectToHost方法 耗时达到秒级问题

0
回复
4186
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2020-4-7 16:45:01 显示全部楼层 |阅读模式
1Qter豆
本帖最后由 zaizai 于 2020-4-7 16:45 编辑

求帮助!!!
使用QTcpSocket 中connectToHost方法时,发现耗时问题达到秒级,并且不同的电脑耗时还不一样,在有的电脑环境中耗时是50-100ms,然而有的电脑在3s左右,还有时耗时高达5.7s,是怎么回事?有遇到过相应现象的大神吗?


代码如下:
(问题补充描述:在connectToHost前后打时间标识,发现调用connectToHost方法前后,耗时达到秒级。

20200407150418.787:  4...
20200407150418.787:  5...
20200407150418.787:  6...
20200407150418.787:  7...
20200407150421.486:  8...(7,8步骤直接耗时达到2.7秒)
20200407150421.486:  9...
20200407150421.486:  10...
20200407150421.486:  11...
20200407150421.486:  12...
(9,10步骤直接没有耗时,11,12直接也是几乎没有耗时)


为什么第一次调用connectToHost方法时,耗时这么严重?


LogStr("4...");
    connect(mTcpSocketDY,SIGNAL(connected()),this,SLOT(dy_Connect_Suc()));

LogStr("5...");   

    connect(mTcpSocketDY,SIGNAL(disconnected()),this,SLOT(dy_Connect_dis()));

LogStr("6...");   

    mTcpSocketDY->abort();//取消原有的链接

LogStr("7...");   

    mTcpSocketDY->connectToHost("192.168.1.30",10001);

LogStr("8...");   

    mTcpSocketDY_YBeng->abort();//取消原有的链接

LogStr("9...");     
    mTcpSocketDY_YBeng->connectToHost("192.168.1.31",10001);
LogStr("10...");   

    mTcpSocketDY_RBeng->abort();//取消原有的链接

LogStr("11...");   
    mTcpSocketDY_RBeng->connectToHost("192.168.1.32",10001);

LogStr("12...");

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了