gSoap用户手册-2.8.3

 

19.17 对非阻塞操作的超时管理

套接字连接超时,接收套接字连接超时,发送超时,接收超时都可以被设置,用来管理套接字通信超时。当前的gSoap运行时环境soap的soap.connect timeout, soap.accept timeout, soap.send timeout, 和 soap.recv timeout属性就是被用来设置成用户自定义的超时值。正值以秒为单位。负值以微秒为单位。

soap.connect timeout定义了方法soap call ns method的超时。

soap. accept timeout定义了方法soap accept(&soap)的超时。

soap.send timeout和 soap.recv timeout定义了非阻塞套接字输入输出操作的超时。

例:

struct soap soap;

soap init(&soap);

soap.send timeout = 10;

soap.recv timeout = 10;

当套接字的发送和接收操作初始化之后,如果在10秒之内没有发送数据并且没有接收到数据,将引发超时。如果超时值设为零,将关闭超时。例:

soap.send timeout = 0;

soap.recv timeout = 0;

当发送和接收操作发生超时,将会抛出SOAP EOF异常(文件结尾或没有输入)。负值以微秒为单位,例:

#de_ne uSec *-1

#de_ne mSec *-1000

soap.accept timeout = 10 uSec;

soap.send timeout = 20 mSec;

soap.recv timeout = 20 mSec;

定义宏是为了增加可读性。

警告:很多Linux版本不支持非阻塞连接操作。因此,为非阻塞soap call ns method方法设置soap.connect timeout可能会不起作用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值