转载: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;

Delphi中CPort控件之Timeout属性的更多相关文章

  1. C# winform项目中ListView控件使用CheckBoxes属性实现单选功能

    C# winform项目中ListView控件使用CheckBoxes属性实现单选功能 在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes ...

  2. Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决

    Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决 EmbeddedWBWebBrowserDelphi  最近用E ...

  3. WPF中Image控件的Source属性

    原文:WPF中Image控件的Source属性 imgBook 是一个Image控件,在后台代码中我想给它指定Source的属性.我先如下方式进行: Uri uri = new Uri(strImag ...

  4. WPF中PasswordBox控件的Password属性的数据绑定

    原文:WPF中PasswordBox控件的Password属性的数据绑定 英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://bl ...

  5. Delphi中TxmlDocument控件的用法 转

    Delphi中对XML文件的解析做的很好,比直接使用MS的MSXML2_TLB中的接口要方便很多,现称述于下面. 在讲之前先给出一个XML实例,在讲某些部分是要结合实例比较容易理解. 1<?xm ...

  6. delphi中panel控件应用

    delphi中的panel控件是怎么使用的?研究了很久了,还是搞不懂,只知道把它放到form上面,其他操作一律不懂了,有谁可以请教一下,如何把其他控件放到里面去呢?谢谢 提问者采纳   直接把控件放到 ...

  7. C#winform中使用控件的Dock属性进行布局

    想要实现如下布局,可以通过设置控件的Dock属性达到效果 1.拖放一个panel控件一个label控件(放在panel中)和一个treeView控件到TestForm中 2.设置panel的Dock属 ...

  8. WPF中利用控件的DataContext属性为多个TextBox绑定数据

    工作上需要从给定的接口获取数据,然后显示在界面的编辑框中,以往肯定会一个一个的去赋值,但这样太麻烦而且效率很低,不利于维护,于是想到了数据绑定这一方法,数据绑定主要利用INotifyPropertyC ...

  9. 【转】WPF中PasswordBox控件的Password属性的数据绑定

    英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://blog.csdn.net/oyi319/article/details/65 ...

随机推荐

  1. python私有成员

    在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用.在Python中,是通过_前缀来实现的. 正常的函数和变量名是公开的(publ ...

  2. webstrom 在脚本区域写其他语言得到语法提示

    webstrom 在脚本区域写其他语言得到语法提示 webstrom 的提示小灯泡 点击inject language or reference 选择相应的语言. 如果写的内容比较多, 可以按照web ...

  3. Java开发高性能网站需要关注的事

    转自:http://www.javabloger.com/java-development-concern-those-things/ 近期各家IT媒体举办的业内技术大会让很多网站都在披露自己的技术内 ...

  4. 服务器ipmi远程管理

    DELL iDRAC (Integrated Dell™ Remote Access Controller )是 Dell PowerEdge 系列服务器上的远程管理方案, 11代 12代服务器已经集 ...

  5. php文件编程

    一:文件常见操作 流的概念:当数据从程序(内存)->文件(磁盘),我们称为输出流,当数据从文件(磁盘)->程序(内存),我们称为输入流 1,获取文件信息 <?php //打开文件 f ...

  6. python常用模块(二)

    1.ConfigParser模块 用于生成和修改配置文档,在python3.x中变更为configparser 1 [DEFAULT] 2 ServerAliveInterval = 45 3 Com ...

  7. Qt 制作2048小游戏

    相信大家都玩过2048把,下面是我用qt写得2048小游戏. 2048.pro HEADERS += \ Widget.h SOURCES += \ Widget.cpp \ main.cpp QT ...

  8. Orchard Core 中文文档翻译(一)关于Orchard Core

    原文连接:https://www.cnblogs.com/Qbit/p/9746363.html 转载请注明出处 翻译说明:本系列为直译,按照官方的计划现在这个版本(2018年10月5日)已经接近最终 ...

  9. March 14 2017 Week 11 Tuesday

    Thinking will not overcome fear but action will. 空想终日惶恐,行动方可无惧. As the deadline comes closer and clo ...

  10. 一个简单的例子理解Kubernetes的三种IP地址类型

    很多Kubernetes的初学者对Kubernetes里面三种不同的IP地址和工作机制理解得不是很清楚. 本文我们通过一个最简单的例子来学习. 用如下命令行创建一个基于nginx的deployment ...