linux udt 源码,UDT linux下关闭链接耗时过长
不知道使用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下关闭链接耗时过长相关推荐
- linux nat源码分析,Linux下NAT/NAPT规则源码分析
前面有一篇文章分析了为什么在PREROUTING做DNAT对本地连接不起作用?本文再紧接着上文,深入分析一下NAT/NAPT的规则. 事情的起因要从上的那篇的文章说起,因为我的本科生毕业设计也是做P2 ...
- 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 ...
- Linux编译程序源码环境,Linux下对nodejs环境进行源码编译并部署云应用
Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP.Python.Perl.Ruby 等服务端语言平起平坐的脚本语言. 该环境安装非常简单,这里 ...
- linux yum源码安装mysql_linux下通过源码包安装mysql,以及yum安装
环境介绍:本安装教程基于虚拟机CentOS7.6版本进行安装,mysql版本为5.7版本. 一.卸载已安装的mysql服务 由于我原本在虚拟机已安装过mysql,所以这里我需要先卸载掉mysql才能进 ...
- linux mod_ssl源码安装,linux下不重新编译apache添加安装mod_ssl模块和错误的处理方法...
安装步骤 1.进入apache源码目录. 2.进入module文件夹下的ssl目录. 3.找到oepnssl 的include路径,ubuntu系统是在/usr/include/openssl目录. ...
- linux 远程控制 源码,基于Linux的远程控制技术服务端实现
远程控制系统的背景与需求分析 2.1 Linux平台下远程控制系统的产生 远程控制系统在现代社会有着越来越广泛的应用.远程控制中的嵌入技术.远程控制的数据处理与传输.远程控制的管理和远程控制的终端都取 ...
- linux内核源码漫游,Linux内核源代码漫游
Linux源代码,以帮助读者对源代码的体系结构以及很多相关的unix特性的实现有一个很好的理解.目标是帮助对Linux不甚了解的有经验的C程序员对整个Linux的设计有所了解.这也就是为什么内核漫游的 ...
- linux top 源码,在Linux系统中下载源码包安装Topgrade的方法,附Topgrade选项说明
本文介绍在Linux操作系统中下载源码包安装Topgrade的方法,即下载topgrade-v2.3.0-x86_64-unknown-linux-gnu.tar.gz包并进行安装,经测试,在Ubun ...
- 思博linux视频,源码安装linux软件
我们现在以源代码方式安装apache httpd 首先我们下载apache httpd的tar.gz的源码安装包,在http://mirror.bjtu.edu.cn/apache//httpd/ht ...
最新文章
- 阿里云API网关相关操作
- mysql 统计条目_mysql 统计表中条目数量的几种方法
- Coolite 常用客户端校验
- 基于数据挖掘的旅游推荐APP(五):景点推荐模块
- Apache与Tomcat整合
- 博弈论入门 HDU 1850
- 第一章 计算机系统概述 1.2.2 各硬件部分的介绍 [计算机组成原理笔记]
- 信息学奥赛一本通(1312:【例3.4】昆虫繁殖)
- linux设置板卡时间,嵌入式VS-RK3288板卡 Linux 修改BOOTDELAY介绍
- 跑路后再删库?思科前员工离职后恶意删库,损失达 240 万美元!
- 你的主机中的软件中止了一个已建立的连接
- hilbert变换简介
- Linux用户宝典:值得一用的5款远程桌面应用程序
- 微信支付-企业付款到零钱
- 聊聊什么是自动化测试,什么是自动化测试框架
- matlab2019b重装导致mjs安装失败问题解决
- 黑灰对比可以为高大上网站风格代言
- 致敬钢铁侠!!!!!
- AcWing 2048. 干草
- pyspark lit 常量