zoukankan      html  css  js  c++  java
  • Delphi中CPort控件之Timeout属性

    转载:http://blog.sina.com.cn/s/blog_70146dce0102wep1.html

    Cport的Timeout属性定义了详细的读写超时设置。 当一个特别操作的超时时间达到了,这个操作被放弃掉,也不会产生任何错误。

    通过超时参数可以定义两种类型的超时时间。 一个间隔超时发生在:两个字节接受间隔超过特定时间。 一个总超时发生在:读操作超过了一定时间。这个计时从i/o操作开始时计时。

    写操作只支持总超时。  读操作支持两种超时。  指定时间的单位都是ms。

    几个参数:

    [ReadInterval] —— 指定读间隔超时时间。0 值 表示间隔超时时间没有被应用。-1值 结合ReadTotalConstant和ReadTotalMultiplier都为0,指定读操作立即返回接收到的字节,即便是没有任何字节。

    [ReadTotalConstant] —— 指定总超时时间。 对每个读操作而言,这个值与ReadTotalMultiplier和字节数的乘积相加才是总超时时间。如果ReadTotalMultiplier和ReadTotalConstant都是0,说明总超时时间没有被应用。如果一个应用程序设定ReadInterval和ReadTotalMultiplier都为-1,并且设置 ReadTotalConstant大于0,会发生以下情况中的一种:如果input buffer中有任何字节,读函数立即返回这些字节;如果input buffer中没有字节,读函数等待字节,直到有字节到达,立即返回字节; 如果在ReadTotalConstant所设定的时间内,都没有字节返回,那么读操作超时。

    [ReadTotalMultiplier] —— 指定read total timeout的乘子。如果ReadTotalTimeout和ReadTotalConstant都为0值,说明总超时时间没有被应用。注意:如果都设为0,当连接失败时可能会导致死机。因为没有了超时检测。

    [WriteTotalConstant] —— 指定常数,用于计算写操作的总超时时间。对每个写操作而言,这个值与WriteTotalMultiplier和字节数的乘积相加才是从超时时间。WriteTotalMultiplier和WriteTotalConstant都为0表示总超时时间对写操作没有应用。

    [WriteTotalMultiplier] —— 指定write total timeout的乘子。 如果WriteTotalTimeout和WriteTotalConstant都为0值,说明总超时时间没有被应用。

    设置范例:

    ReadInterval := 20;

    ReadTotalConstant := 2000;

    ReadTotalMultiplier := 200;

    WriteTotalConstant := 200;

    WriteTotalMultiplier := 20;

  • 相关阅读:
    mysql日常~gh-ost使用
    redis基础篇~哨兵
    zeppelin-0.6.0安装配置
    spark 好文链接
    spark API 介绍链接
    solr5.5 基于内置jetty配置 Ubuntu
    Gollum 安装笔记
    手机版测试
    win7 eclipse 调试storm
    (转)Storm UI 解释
  • 原文地址:https://www.cnblogs.com/bayzhang/p/7338190.html
Copyright © 2011-2022 走看看