不知道使用UDT的人多不多,很大可能会石沉大海啊

=========================================================

我在使用UDT库的时候,linux下正常关闭一个连接耗时要300ms,Windows下耗时只要十几毫秒,跟踪到代码是在core.cpp中的

void CUDT::close()

{

if (!m_bOpened)

return;

if (0 != m_Linger.l_onoff)

{

uint64_t entertime = CTimer::getTime();

// 就是这个while循环耗时很长

while (!m_bBroken && m_bConnected && (m_pSndBuffer->getCurrBufSize() > 0) && (CTimer::getTime() - entertime < m_Linger.l_linger * 1000000ULL))

{

// linger has been checked by previous close() call and has expired

if (m_ullLingerExpiration >= entertime)

break;

if (!m_bSynSending)

{

// if this socket enables asynchronous sending, return immediately and let GC to close it later

if (0 == m_ullLingerExpiration)

m_ullLingerExpiration = entertime + m_Linger.l_linger * 1000000ULL;

return;

}

#ifndef WIN32

timespec ts;

ts.tv_sec = 0;

ts.tv_nsec = 1000000;

nanosleep(&ts, NULL);

#else

Sleep(1);

#endif

}

}

.................................

}

===================================================================

有没有对UDT协议熟悉的好友帮忙看看

linux udt 源码,UDT linux下关闭链接耗时过长相关推荐

  1. linux nat源码分析,Linux下NAT/NAPT规则源码分析

    前面有一篇文章分析了为什么在PREROUTING做DNAT对本地连接不起作用?本文再紧接着上文,深入分析一下NAT/NAPT的规则. 事情的起因要从上的那篇的文章说起,因为我的本科生毕业设计也是做P2 ...

  2. linux python源码安装,linux上源码安装python

    以下例子基于python 2.7.9,其他版本同理.# 1.下载python# wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tg ...

  3. Linux编译程序源码环境,Linux下对nodejs环境进行源码编译并部署云应用

    Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP.Python.Perl.Ruby 等服务端语言平起平坐的脚本语言. 该环境安装非常简单,这里 ...

  4. linux yum源码安装mysql_linux下通过源码包安装mysql,以及yum安装

    环境介绍:本安装教程基于虚拟机CentOS7.6版本进行安装,mysql版本为5.7版本. 一.卸载已安装的mysql服务 由于我原本在虚拟机已安装过mysql,所以这里我需要先卸载掉mysql才能进 ...

  5. linux mod_ssl源码安装,linux下不重新编译apache添加安装mod_ssl模块和错误的处理方法...

    安装步骤 1.进入apache源码目录. 2.进入module文件夹下的ssl目录. 3.找到oepnssl 的include路径,ubuntu系统是在/usr/include/openssl目录. ...

  6. linux 远程控制 源码,基于Linux的远程控制技术服务端实现

    远程控制系统的背景与需求分析 2.1 Linux平台下远程控制系统的产生 远程控制系统在现代社会有着越来越广泛的应用.远程控制中的嵌入技术.远程控制的数据处理与传输.远程控制的管理和远程控制的终端都取 ...

  7. linux内核源码漫游,Linux内核源代码漫游

    Linux源代码,以帮助读者对源代码的体系结构以及很多相关的unix特性的实现有一个很好的理解.目标是帮助对Linux不甚了解的有经验的C程序员对整个Linux的设计有所了解.这也就是为什么内核漫游的 ...

  8. linux top 源码,在Linux系统中下载源码包安装Topgrade的方法,附Topgrade选项说明

    本文介绍在Linux操作系统中下载源码包安装Topgrade的方法,即下载topgrade-v2.3.0-x86_64-unknown-linux-gnu.tar.gz包并进行安装,经测试,在Ubun ...

  9. 思博linux视频,源码安装linux软件

    我们现在以源代码方式安装apache httpd 首先我们下载apache httpd的tar.gz的源码安装包,在http://mirror.bjtu.edu.cn/apache//httpd/ht ...

最新文章

  1. 阿里云API网关相关操作
  2. mysql 统计条目_mysql 统计表中条目数量的几种方法
  3. Coolite 常用客户端校验
  4. 基于数据挖掘的旅游推荐APP(五):景点推荐模块
  5. Apache与Tomcat整合
  6. 博弈论入门 HDU 1850
  7. 第一章 计算机系统概述 1.2.2 各硬件部分的介绍 [计算机组成原理笔记]
  8. 信息学奥赛一本通(1312:【例3.4】昆虫繁殖)
  9. linux设置板卡时间,嵌入式VS-RK3288板卡 Linux 修改BOOTDELAY介绍
  10. 跑路后再删库?思科前员工离职后恶意删库,损失达 240 万美元!
  11. 你的主机中的软件中止了一个已建立的连接
  12. hilbert变换简介
  13. Linux用户宝典:值得一用的5款远程桌面应用程序
  14. 微信支付-企业付款到零钱
  15. 聊聊什么是自动化测试,什么是自动化测试框架
  16. matlab2019b重装导致mjs安装失败问题解决
  17. 黑灰对比可以为高大上网站风格代言
  18. 致敬钢铁侠!!!!!
  19. AcWing 2048. 干草
  20. pyspark lit 常量

热门文章

  1. 我如愿以尝被北交计算机学院录取
  2. 开发新设备设计时使用低温探针台的 8425 型直流霍尔系统
  3. 股市第一赌局:百万赌金 侯宁催账叶荣添准备买单
  4. AD Hoc(State 1)
  5. 用友T3软件超值的打印秘籍,你值得收藏!
  6. 最适合freshman的Java习题集(一)
  7. Python之freshman04
  8. 百万富翁问题--安全多方计算
  9. 给通信专业研究生——安心完成培养,你不是在劣势下和计算机学生抢饭碗来的
  10. Saruman's Army (POJ3069)