`

ACE

阅读更多
MSG_NOSIGNAL

linux下当连接断开,还发数据的时候,不仅send()的返回值会有反映,而且还会像系统发送一个异常消息,如果不作处理,系统会出 BrokePipe,程序会退出。为此,send()函数的最后一个参数可以设MSG_NOSIGNAL,禁止send()函数向系统发送异常消息。

在服务端sleep时,由于客户端断线,将导致send失败。由于使用了MSG_NOSIGNAL标志,程序不会直接DOWN掉,但那个nowait显然没有起到应有的作用,它会一直阻塞。

通过查看ACE源码(ACE.cpp)可以看到,这个值其实是相对于当前时间的长度,send和recv函数里会对这个值加上ACE_OS::gettimeofday()的值,真正超时应该是在35年以后了。。。所以这个用法是错误的,正确用法是:

// in function handle_input
....
char buf[1024];
ACE_Time_Value nowait (ACE_Time_Value::zero);
int recv_len = peer.recv (buf, 1024, MSG_NOSIGNAL, &nowait);
ACE_OS::sleep (5);
peer().send (buf, recv_len, MSG_NOSIGNAL, &nowait);
分享到:
评论

相关推荐

    1上篇:ACE技术论文集

    ACE自适配通信环境(Adaptive Communication Environment)是一种面向对象(OO)的工具包,它实现了通信软件的许多基本的设计模式。ACE的目标用户是在UNIX和Win32平台上开发高性能通信服务和应用的开发者。ACE简化了...

    ACE网络框架-文档资料

    【ACE网络框架-文档资料.rar】压缩包中含有如下内容: ================================================== 【ACE源码】目录: ACE+TAO+CIAO-6.0.0.tar.bz2 ----------------------------------------------------...

    ACE技术内幕:深入解析ACE架构设计与实现原理

    《ace技术内幕:深入解析ace架构设计与实现原理》从构架模式、编程示例和源代码3个维度系统地对经典网络框架ace(adaptivemunicationenvironment)的架构设计和实现原理进行了深入分析,它能解决4个方面的问题:,...

    ACE Admin官方文档(最新)

    很全面的Ace Admin1.3官方文档,包含有最全面的组件及例子,适合急需使用该技术开发的人。 响应式Bootstrap网站后台管理系统模板ace admin,非常不错的轻量级易用的admin后台管理系统,基于Bootstrap3,拥有强大的...

    ACE自适配通信环境中文技术文档

    一、ACE综述 ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework),在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++ ...

    解决microsoft.ace.oledb.12.0连接失败所需要的驱动 完整版.zip

    解决microsoft.ace.oledb.12.0连接失败所需要的驱动 完整版.zip 解决microsoft.ace.oledb.12.0连接失败所需要的驱动 完整版.zip 解决microsoft.ace.oledb.12.0连接失败所需要的驱动 完整版.zip 解决microsoft.ace....

    Automatic Color Enhancement (ACE) and its Fast Implementation

    Automatic Color Enhancement "ACE" is an effective method for color image enhancement introduced by Gatta, Rizzi, and Marini based on modeling several low level mechanisms of the human visual system....

    ace库万能版-(VS2015 VS2013 VS2017或者用Mpc自己生成.sln)

    %ACE_ROOT%\bin\mwc.pl -type vc14 -value_template "configurations='MFC Release' 'MFC Debug' Release Debug" -features "mfc=1" %ACE_ROOT%\ace\ace.mwc 注:%ACE_ROOT%是你解压后的目录,VC14对应VS2015,其他...

    ACE工具包详解

    ACE 是一个面向对象的工具开发包,它实现了通信软件的基本设计模式。 ACE 面向在UNIX 和Win32 平台上开发高性能通信服务的开发人员。它简化了 面向对象的网络应用程序和服务的开发,这些程序和服务用到了进程间通信...

    MPC使用介绍 学习ACE/TAO必备

    ACE MPC使用的中文翻译。MPC是一个用来从mpc文件中生成不同编译工具所支持的项目文件的工具。MPC项目文件是构造单一编译目标的源文件的集合。MPC使用平台特定的输入和mpc文件一起生成不同编译工具所支持的项目文件,...

    ace起步指南ace起步指南ace起步指南ace起步指南

    ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南

    《ACE程序员指南》

    ACE程序员指南 [ Team LiB ] • Table of Contents ACE Programmer's Guide, The: Practical Design Patterns for Network and Systems Programming By Stephen D. Huston, James CE Johnson, Umar Syyid ...

    一加 ACE3-OnePlus Ace3-9008资源免权限+详细图文教程

    一加 ACE3-OnePlus Ace3-9008资源免权限+详细图文教程 资源说明: 9008刷写固件。无权限刷写 任意刷写 会进入9008端口 会基础玩机刷写固件的友友下载 资源带刷写教程步骤 资源在网盘 需要一定刷机常识和玩机基础...

    ACE头文件ACE头文件

    ACE头文件ACE头文件ACE头文件ACE头文件ACE头文件ACE头文件ACE头文件ACE头文件

    ace.js实现的编辑器

    ace.js编辑器是一个功能强大的开源代码编辑器,它以JavaScript为基础,并通过浏览器提供丰富的编辑功能。以下是关于ace.js编辑器的详细描述: 首先,ace.js编辑器支持多种编程语言,包括但不限于JavaScript、HTML、...

    Ace Admin 1.3.1 响应式后台模板最新版

    ace admin v1.3.1最新版本14-8-28,国外极品后台管理系统模板,多种开发语言可用,HTML5+Bootstrap3.0 截止2014年8月28日,官方最新1.3.1版, 已经将cdn外链js和css完整下载到本地。可直接流畅预览。 本模板仅供...

    bootstrap-ace_tab

    ace admin 添加页签模式,只是静态页面。bootstrap-ace_sample版本(优化版)

    ACE程序员指南--马维达

    ACE 的一些中文资料有《ACE自适配通信环境》等,对学习ACE编程很有用哦!诸多使用ACE的好处包括: .. 增强可移植性:在ACE组件的帮助下,很容易在一种OS平台上编写并发网络应用,然后快速地将它们移植到各种其他的OS...

    ACE资料系列5 - ACE程序员指南 ACE程序员指南:网络与系统编程的实用设计模式

    精通ACE,必读书第第三本:ACE程序员指南:网络与系统编程的实用设计模式

Global site tag (gtag.js) - Google Analytics