zcbAzfl 发表于 2014-6-27 10:20:05

SIM900A通过TCP与服务器频繁通信,数据长度建议256以下

本来用AT+CIPSEND?命令可以查询当地运营商能够支持的最长数据包,我查询的结果是1352,但是在网上看到有些人说最好不要超过256,否则容易出各种奇怪的问题,由于本人目前测试条件不够,特上来问问各位坛友,是否控制在256比较合适?

zcbAzfl 发表于 2014-6-27 10:20:33

先抢占沙发……

dadongleilei 发表于 2014-6-27 11:09:27

用的别的模块,1K基本没有问题的

zcbAzfl 发表于 2014-6-27 11:14:04

dadongleilei 发表于 2014-6-27 11:09
用的别的模块,1K基本没有问题的

你用的啥模块呀?是使用移动的卡吗?

dadongleilei 发表于 2014-6-27 11:18:24

中兴的 菊花公司的 Sierra(Wavecom)的都有用,移动卡和联通卡都在用,

yy8047 发表于 2014-6-27 11:20:49

不超过限定的数据包长度通信没问题的,只是有时候数据包太长的话可能出现一个数据包被分割成多个后被传送到目的地,但如果几个数据包组合起来后的话还是完整的

zc3909 发表于 2014-6-27 11:23:00

我的做法是先检测GSM信号质量,根据信号情况确定发送数据的长度 > 28长度是1024 ,小于15长度是256,之间是768






zcbAzfl 发表于 2014-6-27 14:45:43

zc3909 发表于 2014-6-27 11:23
我的做法是先检测GSM信号质量,根据信号情况确定发送数据的长度 > 28长度是1024 ,小于15长度是256,之间是768 ...

不错的办法……

lklhzu 发表于 2014-7-25 15:38:26

zc3909 发表于 2014-6-27 11:23
我的做法是先检测GSM信号质量,根据信号情况确定发送数据的长度 > 28长度是1024 ,小于15长度是256,之间是768 ...

请教下,数据发送成功与否是怎么判断的?“GSM信号质量”不好的情况下,发送数据有时模块不会返回SEND OK。

zcbAzfl 发表于 2014-7-26 16:11:54

lklhzu 发表于 2014-7-25 15:38
请教下,数据发送成功与否是怎么判断的?“GSM信号质量”不好的情况下,发送数据有时模块不会返回SEND OK ...

我是这么做的,执行完毕后开启定时器,超时(超时时间的设定是关键)未接收到send ok就视为TCP断开,然后执行TCP重连

lklhzu 发表于 2014-7-26 16:21:18

zcbAzfl 发表于 2014-7-26 16:11
我是这么做的,执行完毕后开启定时器,超时(超时时间的设定是关键)未接收到send ok就视为TCP断开,然后 ...

有时候网络不好,虽然模块不会返回SEND OK,但服务器能收到数据,此时链接应该没断,看来你的判断太“灵敏”了。

zcbAzfl 发表于 2014-7-26 16:26:03

lklhzu 发表于 2014-7-26 16:21
有时候网络不好,虽然模块不会返回SEND OK,但服务器能收到数据,此时链接应该没断,看来你的判断太“灵 ...

有时候服务器能收到数据,模块等很久也等不来SEND OK,你的意思是模块这边一直等下去?

lklhzu 发表于 2014-7-26 16:36:52

zcbAzfl 发表于 2014-7-26 16:26
有时候服务器能收到数据,模块等很久也等不来SEND OK,你的意思是模块这边一直等下去? ...

现在也在纠结,要不要判断有无SEND OK来确定数据有没有发送成功,有的人把SEND OK忽略,用AT+CIPSTATUS来判断链接状态。

zcbAzfl 发表于 2014-7-26 16:42:30

lklhzu 发表于 2014-7-26 16:36
现在也在纠结,要不要判断有无SEND OK来确定数据有没有发送成功,有的人把SEND OK忽略,用AT+CIPSTATUS来 ...

AT+CIPSTATUS有时候不靠谱的,我有试过SIM900A这边提示连接成功,但服务器已经断开连接的情况的,当然,这种情况很少见……

后续打算,如果没有及时接收到回复就再发送两次,超过三次没及时回复就重连了。

zc3909 发表于 2014-7-27 22:59:13

lklhzu 发表于 2014-7-25 15:38
请教下,数据发送成功与否是怎么判断的?“GSM信号质量”不好的情况下,发送数据有时模块不会返回SEND OK ...

我通常用应用层的应答做为数据发送是否成功的判断标准
页: [1]
查看完整版本: SIM900A通过TCP与服务器频繁通信,数据长度建议256以下