H herozjh Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-25 #1 请问各位大虾,如果同时多条短信发到一个GSM Modem 上时怎么处理才能使短信不丢失?我使用的是tpapro的通讯控件,目前我是用一个定时器定时扫端口,但这样肯定会有问题,可是我也不知道怎么样作会更好,请大虾指点!
请问各位大虾,如果同时多条短信发到一个GSM Modem 上时怎么处理才能使短信不丢失?我使用的是tpapro的通讯控件,目前我是用一个定时器定时扫端口,但这样肯定会有问题,可是我也不知道怎么样作会更好,请大虾指点!
W wsz1220 Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-25 #2 你建立一个接受队列吗,来一个接收一个,总不会是在同一瞬间几条短信同时到达吧。
H herozjh Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-25 #3 我建了一个缓存,对一条一条到达的没有什么问题;现在就是要解决同时到达的问题,不知道普通手机是怎么做的?
Z zjan521 Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-25 #4 不可能有同时到达的短信,最多一条挨着一条嘛. 看看你的GSM Modem的文档。在接收到短信的时候有没有什么信息从串口发过来。有的话,建立一个线程,专门即时接受短信
H herozjh Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-26 #5 我已经使用了一个线程专门接受短信,但我是使用一个计时器每隔0.2秒扫描一次端口,这样的话就有可能出现这条还没收完就收下一条(短信息不是一下全部进入)或者中间漏掉短信息,这就出现了一个矛盾,如果扫端口的时间隔长了,有可能中间会遗漏,如果短了又可能出现收到信息不完整的短信息的情况;如果只是少量短信的话并不明显,但是如果这一个集中的时段有比较多的短信,那问题相对就比较严重了,帮帮忙看看有什么从根本上解决问题的方法!谢谢!
我已经使用了一个线程专门接受短信,但我是使用一个计时器每隔0.2秒扫描一次端口,这样的话就有可能出现这条还没收完就收下一条(短信息不是一下全部进入)或者中间漏掉短信息,这就出现了一个矛盾,如果扫端口的时间隔长了,有可能中间会遗漏,如果短了又可能出现收到信息不完整的短信息的情况;如果只是少量短信的话并不明显,但是如果这一个集中的时段有比较多的短信,那问题相对就比较严重了,帮帮忙看看有什么从根本上解决问题的方法!谢谢!
A ankery Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-26 #6 不可能丢短信,除非你接收的短信在短时间有很大的量。SIM卡能够保存一定数目短信,移动供应商的服务器会给你保留一定数目的。大约70-100条左右(视SIM卡的容量),量太大了当然会丢失,不过实在移动供应商处就丢了。0.2秒扫描一次足够了,接收短信用不了多少时间。使用AT指令接收短信会不全嘛?要注意的是接收后一定要删除,否则...
不可能丢短信,除非你接收的短信在短时间有很大的量。SIM卡能够保存一定数目短信,移动供应商的服务器会给你保留一定数目的。大约70-100条左右(视SIM卡的容量),量太大了当然会丢失,不过实在移动供应商处就丢了。0.2秒扫描一次足够了,接收短信用不了多少时间。使用AT指令接收短信会不全嘛?要注意的是接收后一定要删除,否则...
B boyface Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-26 #7 比较关注. 学习以下. to: herozjh 你说的一条没有收取完毕就收取下一条,这种情况会有吗? 还是不同的短信都应该是有相应的标识, 或者是说短信结束以什么 作为标志呢? 不好意思, 不懂. 也向做个这个东西.
比较关注. 学习以下. to: herozjh 你说的一条没有收取完毕就收取下一条,这种情况会有吗? 还是不同的短信都应该是有相应的标识, 或者是说短信结束以什么 作为标志呢? 不好意思, 不懂. 也向做个这个东西.
C chenfreax Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-27 #8 这个问题,我已经解决,用了一个列表来处理。 可以跟我联系: MSN:chenfreax@hotmail.com QQ:47818604
H herozjh Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-31 #9 首先量确实很大,其次GSM Modem 是不会把短信暂时存在SIM卡中的,因为SIM卡有擦写次数的,次数多了卡就报废了,我想到了其实用串口的触发事件应该就可以了,有短信进入串口才触发接收线程,这里有人用过tpapro_4_06这个控件吗?指点下那个触发事件怎么用?我用了OnTrigger和OnTriggerAvail事件好像都有点问题,高手指点下!
首先量确实很大,其次GSM Modem 是不会把短信暂时存在SIM卡中的,因为SIM卡有擦写次数的,次数多了卡就报废了,我想到了其实用串口的触发事件应该就可以了,有短信进入串口才触发接收线程,这里有人用过tpapro_4_06这个控件吗?指点下那个触发事件怎么用?我用了OnTrigger和OnTriggerAvail事件好像都有点问题,高手指点下!
H herozjh Unregistered / Unconfirmed GUEST, unregistred user! 2004-06-01 #10 难道这里没有人用过tpapro_4_06吗???
H herozjh Unregistered / Unconfirmed GUEST, unregistred user! 2004-06-04 #11 难道这里真的没人用过tpapro_4_06吗???
C cash95 Unregistered / Unconfirmed GUEST, unregistred user! 2004-06-04 #12 1、数据包加一个结束标志,收到结束标志一条结束没,这个标志由你定义。 2、也可以如果你的modem有流控制也可以试试,串口的硬件握手模式。 3、用spcomm,这东西是线程的,可以调整读间隔,很好用。