我昨天刚做了两个小程序,我用TAPI拨号,连接创建以后,一个程序往COM写数据,
一个从COM读数据,开始时,读的程序读到的第一个字节并不是写程序所写的第一个字节,读程序读到的第一个字节总是(0x0a)
所以我怀疑是COM中总有一些未读数据,所以,我就把写程序改成什么都不做,而读程序继续读,改后运行,发现,却不是这样,结果是读程序读超时了,
这说明,如果写程序不写的话,读程序是没有什么可读的,于是我怀疑是否读/写函数用错了,但是检查了好久,反复看Win32API文档,都找不到自己的错误,后来,我采取读程序正式开始接收数据以前先把COM输入队列中的数据都读出来,然后才开始正式接收数据,结果,程序却能正确运行了,我调试时发现,读程序在TAPI连接创建后读COM时,队列中总有1个字节,而且是(0x0a),这是为什么呢?而且,如果写程序不写的话,这个字节却是没有的,这又是为什么?小弟十分困惑,请有经验的朋友帮忙解答?
解决问题后必定加分到100分,我是有信誉的