搜索
bottom↓
回复: 9

使用GTM900模块,如果TCP发送缓冲区满,需要处理一下吗?(希望APPCAT能看到这个贴子)

[复制链接]

出0入0汤圆

发表于 2009-2-20 15:02:58 | 显示全部楼层 |阅读模式
大家好,我想问一个关于发送TCP消息指令,我用的是GTM900,发送TCP消息指令是:AT%IPSEND,
回复,%IPSEND:15 //注意:这个返回的buffer序号,每发送一包数据不管大小,都占用一个buffer空间。总计16个。如果返回的buffer序号在减小,表示当前的网络传送受阻,当返回的buffer序号为0时模块回复ERROR:20,这时我应该做什仏处理,是要重新建立连接吗?
现象是:我每隔30S发送一条TCP消息,有时会收到ERROR:20的信息,然后GTM模块继续发送,反回是:%IPSEND:XX OK,但从TCP测试助手中没收到TCP数据。过一会会几条一块发到TCP测试区。
这个现像是应该是由于网络阻塞引起的,当在收到ERROR:20是,需要处理一下吗?

我是beihai084,我希望APPACT能看到这个贴子。上次的问题在你的帮助下已经解决,感谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出1070入962汤圆

发表于 2009-2-20 16:25:49 | 显示全部楼层
由于TCP网络的速度不稳定,可能会造成数据积压。当收到error 20时就表明GTM900B内部发送窗口被全部占用,等待发送成功后才能释放窗口,所以遇到这个错误,什么都不要做,就停下来等等好了。

出0入0汤圆

发表于 2009-2-20 20:53:03 | 显示全部楼层
30秒发送一次,16个的话要八分钟呢!能堵那么长时间?应该把你使用环境说一下,太恶劣,看看你的天线及其附件连接导致信号太弱

出0入0汤圆

 楼主| 发表于 2009-2-23 09:01:39 | 显示全部楼层
感谢

出0入0汤圆

发表于 2009-2-23 09:32:49 | 显示全部楼层
这个方面还是OPENAT好用,一个wip_write搞定,函数返回就知道是否操作成功

出1070入962汤圆

发表于 2009-2-23 11:26:41 | 显示全部楼层
楼上,如果wip_write函数是阻塞模式,要返回才知道是否操作成功,网络塞车比较厉害的时候,你的DTU不会失去反应吗?
阻塞模式对于DTU开发者来说的确好用,但是在网络条件恶劣情况下,对用户也许是噩梦。举个例子来说,就是楼主的情况,网络阻塞导致数据包晚了几分钟才到,如果是阻塞函数,这几分钟就是在等待操作是否成功,而TCP/IP的超时机制比较宽松的,万一该数据实时要求比较高,几分钟后已经没有意义了,要送新采集的数据,这时,这个DTU就不能满足用户需求了。如果不是阻塞模式,用户至少可以选择重发或者重新连接来抛弃已经无实际意义的数据。

出0入0汤圆

发表于 2009-2-23 16:23:04 | 显示全部楼层
OPENAT没此问题的
OPENAT OS不允许长达几分钟的阻塞的
而且OpenAT基于EVENT驱动模式,在提交Wip-Write时,其它任务是可以调度的
OpenAT不允许任意一个任务独占超过8秒钟,这会导致看门狗复位的

我用OpenAT做的DTU已经在多个行业中使用,远比华为之类的模块稳定可靠的

另外OpenAT的EVENT驱动模式和Windows的消息队列非常类似,会Win32SDK开发的人,就能比较容易了解OpenAT的流程
写惯单片机的肯定不习惯EVENT驱动模式的

出0入0汤圆

发表于 2009-2-23 20:27:04 | 显示全部楼层
好像只有Wavecom支持吧,真有楼上说得这么可靠吗!

西门子岂不是要歇菜

出0入0汤圆

发表于 2012-12-26 20:42:55 | 显示全部楼层
Appcat 发表于 2009-2-20 16:25
由于TCP网络的速度不稳定,可能会造成数据积压。当收到error 20时就表明GTM900B内部发送窗口被全部占用,等 ...

Appcat你好,请教一下那要等多久才算合适啊?我发现有时候等好久都没有发出去,一直是发送窗口满了。最后主动断开链路,在次连接上就可以发送了,不知道是模块咋样了。用的是GTM900C 谢谢

出1070入962汤圆

发表于 2012-12-26 20:57:23 | 显示全部楼层
一般等够一个心跳周期就可以了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 05:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表