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;
Delphi中CPort控件之Timeout属性的更多相关文章
- C# winform项目中ListView控件使用CheckBoxes属性实现单选功能
C# winform项目中ListView控件使用CheckBoxes属性实现单选功能 在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes ...
- Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决
Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决 EmbeddedWBWebBrowserDelphi 最近用E ...
- WPF中Image控件的Source属性
原文:WPF中Image控件的Source属性 imgBook 是一个Image控件,在后台代码中我想给它指定Source的属性.我先如下方式进行: Uri uri = new Uri(strImag ...
- WPF中PasswordBox控件的Password属性的数据绑定
原文:WPF中PasswordBox控件的Password属性的数据绑定 英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://bl ...
- Delphi中TxmlDocument控件的用法 转
Delphi中对XML文件的解析做的很好,比直接使用MS的MSXML2_TLB中的接口要方便很多,现称述于下面. 在讲之前先给出一个XML实例,在讲某些部分是要结合实例比较容易理解. 1<?xm ...
- delphi中panel控件应用
delphi中的panel控件是怎么使用的?研究了很久了,还是搞不懂,只知道把它放到form上面,其他操作一律不懂了,有谁可以请教一下,如何把其他控件放到里面去呢?谢谢 提问者采纳 直接把控件放到 ...
- C#winform中使用控件的Dock属性进行布局
想要实现如下布局,可以通过设置控件的Dock属性达到效果 1.拖放一个panel控件一个label控件(放在panel中)和一个treeView控件到TestForm中 2.设置panel的Dock属 ...
- WPF中利用控件的DataContext属性为多个TextBox绑定数据
工作上需要从给定的接口获取数据,然后显示在界面的编辑框中,以往肯定会一个一个的去赋值,但这样太麻烦而且效率很低,不利于维护,于是想到了数据绑定这一方法,数据绑定主要利用INotifyPropertyC ...
- 【转】WPF中PasswordBox控件的Password属性的数据绑定
英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://blog.csdn.net/oyi319/article/details/65 ...
随机推荐
- 在windows环境下运行compass文件出现的错误提示解决方案
在windows环境下运行compass文件出现的错误提示解决方案 例如:经常在项目中运行grunt命令编译scss文件的时候,会出现下面的错误提示 (Encoding::CompatibilityE ...
- SharePoint 2013 - Using Web Proxy
用于在SharePoint中调用其它网站服务时使用. 1. 需要引用sp.js 和 sp.runtime.js文件: 2. 需要用到SP.WebRequestInfo,SP.WebProxy,和SP. ...
- Shader之ShaderUI使用方法
shader中的宏定义在material中Inspector中打开 Shader "Custom/Redify" { Properties{ _MainTex("Base ...
- JsonConvert序列化问题
返回的Json数据如下: [[1400025600,9633460,9667535,2698.09,2734.73,2749,2698.08,25333.3057,11784.9,13548.4,69 ...
- 別人寫的git的總結,寫自己這裡學習用
這裡是原文,http://www.cnblogs.com/ang-/p/7352909.html 貼這裡慢慢學. git入门大全 阅读目录 前言 基本概念 文件几种状态 创建新仓库 配置 检出仓库 ...
- scrum第四次冲刺
scrum 第四次冲刺 一.项目目的 为生活在长大的学生提供方快捷的生活服务,通过帖子发现自己志同道合的朋友,记录自己在长大点滴.本项目的意义在于锻炼团队的scrum能力,加强团队合作能力.确定本项目 ...
- HDU 4117 GRE Words
这道题不难想到这样的dp. dp[字符串si] = 以si为结尾的最大总权值. dp[si] = max(dp[sj]) ,1.j < i,2.sj是si的子串. 对于第二个条件,是一个多模版串 ...
- 线程概念的外延 Threading Terminology-What Are Threads
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Multithreading/AboutThrea ...
- 2018.10.4 AndroidStudio
AndroidStudio低版本sdkversion开发 Error:Minimum supported Gradle version is 4.1 Current version is 2.14.1 ...
- 【洛谷P3853】 [TJOI2007]路标设置
路标设置 题目链接 此题和跳石头很相似,都是二分答案,模拟判断是否可行 #include<iostream> #include<cstdio> using namespace ...