Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2362954
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:00:21

缓存是自动开辟的,但有最大值限制。
缓存的最大值由 InBufSize 和 OutBufSize 属性定义,默认值是 8192, 你可以改变这个值。
所有接收和发送的数据都连续的放置在 InQueue 和 OutQueue 里面,
通过 Read 读出 InQueue 缓存的数据,读出多少就自动从缓存里面删除多少,按字节算的,与结构无关,
通过 Write 写入 OutQueue 缓存,数据由后台线程自动发送,
YbCommDevice1->InQueue->Count 是收到的字节数,这个数会随数据的接收自动增大,
YbCommDevice1->OutQueue->Count 是还有多少字节正在发送,这个数会随着数据的发送自动减小,
long nBytes 的作用就是确定数据包有多少有效字节数,只发送有效的字节,
校验需要自己做,数据包只是确定哪些数据是在同一个结构里的。
如果你调用了Write发送数据,函数立即返回,不等待数据发送完成,数据在 OutQueue 里面由后台发送。
如果你调用了Read接收数据,函数立即返回在 InQueue 里面的数据,不等待新的数据。

--------------------next---------------------

阅读(1208) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~