CnComm 1.3 的用法

原创 2007年09月21日 10:49:00
案例:
假如发送间隔发送一个字符串,间隔时间、长度不确定,没有起始、结束的标志;可以确定是发送端一口气发送完后字符串,并且能够假定有最大长度,如何处理;
cnComm 1.3可以一定程度的解决这个问题;
假设字符串的最大长度为20,设定每次读为3倍的最大长度即60;不能确定的就尽可能大一点;
class MyCom : public CxComm
{
    
virtual void OnReceive()
    {
        
char buf[128];
        
int len =  Read(buf, 60,  false);
        buf[len] 
= 0;
        
if(len>0)
            cout 
<< buf << endl;
    }
};

比如发送端发送“012345678987654321 ",
对于原有版本来说可能被分割成
“0123”
"4567"
........
采用该方案
那个一次接受的数据可能是
“012345678987654321 "
或者
“012345678987654321012345678987654321 "
即一次接受1-2个完整的数据包;
应该能够满足这部分网友的需要,但是全部只接受一个完整的,目前我没有完美的方案;
你可以在分析一下,是一个数据包还是2个;
以上方案缺点是速度慢,但是在线程也无法所谓速度
对于不会分割中文的朋友,可以使用,这样应该不会出现中文字符被分割的情况

相关文章推荐

CnComm 1.3正确版

  • 2007年11月28日 08:53
  • 21KB
  • 下载

CnComm1.3

  • 2007年09月22日 00:41
  • 22KB
  • 下载

CnComm v1.51 多线程串口通讯库

/*! \mainpage CnComm v1.51 多线程串口通讯库 * \section About 关于 * * \n 版本: CnComm v1.51 * \n 用途: WI...

CnComm 1.3 正确版

  • 2007年11月28日 08:58
  • 21KB
  • 下载

MFC中CnComm串口类移植方法(小白篇)

最近在学习MFC编写串口,首先使用了MSCOMM控件来编写,简单好用,但是它有一个缺点就是当它发布的时候,需要相应的计算机也要进行MSCOMM的注册,串口助手是一个小软件,使用前还要注册,这对于用户来...

llbird的MFC串口操作库CnComm断言问题探讨及vs2015修正

最近在读llbird的MFC串口操作库CnComm,在vs2015中使用了一下,感觉非常简洁精妙,好的地方就不说了,来谈谈问题。 首先是断言的使用问题,感觉作者的断言使用有点小小的问题,当然我说的也...

cncomm XE10的例子程序

  • 2016年11月21日 10:21
  • 22KB
  • 下载

SerialAssistant_CnComm

  • 2013年12月22日 16:31
  • 958KB
  • 下载

Java入门教程-1.3Java的主要就业方向

Java的就业前景如何,看培训班就知道了,以Java培训为主的达内,曾传出即将上市的消息。 根据IDC的统计,在所有软件开发类人才的需求中,对JAVA工程师的需求曾达到全部需求量的50%以上。而...
  • softn
  • softn
  • 2016年05月24日 09:10
  • 216

串口通讯类CnComm的使用笔记

  • 2012年03月05日 00:51
  • 25KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CnComm 1.3 的用法
举报原因:
原因补充:

(最多只允许输入30个字)