缓存是自动开辟的,但有最大值限制。
缓存的最大值由 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) |