Spunky 发表于 2011-3-7 10:45:17

请教一个GPRS问题,高手请进

我使用的是GTM900C模块,数据传输方面没有问题。但是每次数据连续传输一段时间后(大约是5分钟),PC上运行的监听软件就会出现Socket error = 10053 的代码,然后就主动关闭此链接。但是GPRS这边又没有收到任何IPCLOSE的消息,GPRS就一直发数据,直到发送缓冲区满,重新连接才会正常,但是连接了一端时间后又重复出现此问题。没有搞懂是怎么一回事。PC上的软件都是用的网上常见的TCPUDP调试软件,人家的程序应该没有问题。我以为是防火墙的问题,现在关了防火墙还是出现此问题,比较苦恼。
   需要说明的是心跳数据包发送的时间是1分钟,在没有任何数据传输的情况下,1分钟发送一次,1分钟内有数据传送就不发。
   另外我为了调试方便,同时向1个IP的两个端口发送数据。

   不知道这些是不是有问题,还请高手指教一下。

Appcat 发表于 2011-3-7 11:35:03

既然向同一个IP的两个端口发送数据,就存在两条TCP链路,这两个链路均需要通过心跳包进行维持。

其次,换一个网络环境,排除网络端的问题因素。

Spunky 发表于 2011-3-7 12:59:25

两个链路都做了心跳包的发送。
换个网络环境比较麻烦,你能说下如果是网络端的问题,大概造成这种情况的因素是那些吗?

Spunky 发表于 2011-3-7 13:09:25

我改了数据发送间隔时间,好像是每发8个包左右,PC上的软件就要出现Socket error = 10053, 而GPRS完全不知道,还继续的发送数据直到发送缓冲区满

Appcat 发表于 2011-3-7 13:12:59

换个接收软件试试呢?

Spunky 发表于 2011-3-7 13:30:52

我已经换了2个了
一个是Sockettool v2.30,另一个是周立功的。两个都出问题,只是第一个工具要显示错误,周立功那个工具什么都不显示就直接退出了。

你有什么好的工具,可以拿我试一下吗?搞得有点郁闷了。

刚才手动发送数据,发现只要发送到第九个包或者第十个包就要出错,而GTM900C一点反馈都没有,真的不是很好处理这种情况

Spunky 发表于 2011-3-7 13:41:07

又发现个现象,通过PC向GPRS发送数据,发送几个包后,GPRS会收到IPCLOSE的消息,试了6、7次了,都是这样的。是不是公司路由器的设置问题?公司有一个公网IP,通过网管做了映射到我的机器上的。

我电脑上windows防火墙和360都关了的。

Spunky 发表于 2011-3-7 16:26:48

哪位高手给个建议啊

kingmacth 发表于 2011-3-7 16:38:51

你试试这个吧。我是用这个软件调没出过什么问题。点击此处下载 ourdev_620723BMCFFU.rar(文件大小:1.55M) (原文件名:TCP助手1.10.rar)

你发的包都一样么?如果一样的话有可能是路由的防火墙问题。发不通长度的包试试会不会出你你那样的问题。

Spunky 发表于 2011-3-7 16:43:43

回复【8楼】kingmacth大道无极
-----------------------------------------------------------------------

对的,我就是发的一样长度的包,但协议是这样,如何设置路由器呢?

kingmacth 发表于 2011-3-7 16:46:06

回复【9楼】Spunky
-----------------------------------------------------------------------

我不知道如何设置,因为我接触过有些地方的网络安全级别高,你连续发相同的东西他就会屏蔽你,最后我做的是发送随机长度的随机数字作为心跳。解决问题。

Spunky 发表于 2011-3-7 16:49:21

谢谢,我先试一下。

Spunky 发表于 2011-3-7 17:33:19

结题:

折腾一天,最后发现时路由器问题,公司为了限制大家上网看电影,叫网管在路由器上设置了上网行为管理,一旦这个管理发现有P2P行为,就立刻关掉连接,这样PC这边就出错,而GPRS那边却什么都不知道。但网关也搞不懂,我传的数据为什么会被认为是P2P行为,只要关闭了就好了。

发送相同的数据被路由器屏蔽倒是没有发现这个问题,可能现在公司的路由器没有这项策略,但我还是会在程序中加上kingmacth 大道无极讲的方法的,防止万一。

非常感谢kingmacth 大道无极和Appcat 苹果猫的回答!!!

comway 发表于 2011-4-12 17:42:09

发送随机长度的随机数字作为心跳,那怎么识别心跳啊
页: [1]
查看完整版本: 请教一个GPRS问题,高手请进