5498|7

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

使用GPRS模块拨号上网,上去了,但是local IP address和remote IP address一样,数据不是发到指定的服务器端口上,怎么办? [复制链接]

我用GPRS模块拨号ATD*99#上网,我用串口输出信息察看状态:
local  IP address:10.145.168.65
remote  IP address:10.145.168.65
tcpip_open()!
UDP_ESTABLISHED!

到此为止,我觉得握手完成,UDP连接也已经建立了,但是我发数据却不是发到指定的服务器上,这边的local  IP address怎么会和remote  IP address一样呢,我不解,但是这

些都是协议内部处理的,协议都是成熟的协议,不大可能协议会错啊。

这是我要发送给它数据的服务器IP地址和端口
#define SERVER_IP   "222.187.119.57"
#define SERVER_PORT  7502
连接建立了,但我发了就是收不到,怎么回事呢?

最新回复

IP地址一样会不会造成冲突呢?  详情 回复 发表于 2010-1-21 13:26
点赞 关注

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我觉得有以下几个问题:
1,tcpip_open()! 是表示tcp已经打开了吗,还是说tcpip_open()失败?
2,如果是tcp通信,为什么是UDP_ESTABLISHED,应该是TCP_ESTABLISHED才对啊?
我觉得会不会把tcp和udp弄混了。
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
先帮顶下。

另外在AT 指令中,tcpip_open()!一般仅仅是打开GPRS的数据传输与通讯。

楼主应该执行建立GPRS的数据传输与通讯,当然有些时候,会失败,我们的单板有一般都好用,但是也有部分单板tcpip_open都成功,但是建立GPRS(建链)却失败,我们的原因是RF的线路阻抗有点问题,天线的信号与幅度不太好。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 1 楼 gengzhen_2005 的回复:
我觉得有以下几个问题:
1,tcpip_open()! 是表示tcp已经打开了吗,还是说tcpip_open()失败?
2,如果是tcp通信,为什么是UDP_ESTABLISHED,应该是TCP_ESTABLISHED才对啊?
我觉得会不会把tcp和udp弄混了。
tcpip_open()! 中就是建立udp连接的,在这个函数中有两种连接方式可供选择,我选择的是udp,所以最后建立了udp连接,我可以确定的是没有弄混掉
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

5
 
unsigned char GPRS_TCP_CONNECTOK_Check(unsigned short timeout)
{

       unsigned char ret;
      
        Send_AT_Command("AT+CIPSTATUS\r");

              if( (ret=UART_wait_str2( timeout, "CONNECT OK", "IP ")) == 1)//筛选字符串 如果找到 CONNECT OK 就返回1   
                   return AT_OK;      //ok if got "CONNECT OK"
              else
                   return AT_ERROR;   //all other status   

}
曾经用过的一个函数,希望有所帮助。
return of AT+CIPSTATUS command:  a string parameter which indicates the progress of connecting
            0 IP INITIAL
            1 IP START
            2 IP CONFIG
            3 IP IND
            4 IP GPRSACT
            5 IP STATUS
            6 TCP/UDP CONNECTING
            7 IP CLOSE
            8 CONNECT OK
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
我是新手。别拍太狠
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用楼主 xiajunqing 的回复:
我用GPRS模块拨号ATD*99#上网,我用串口输出信息察看状态:
local? IP address:10.145.168.65
remote? IP address:10.145.168.65
tcpip_open()!
UDP_ESTABLISHED!

到此为止,我觉得握手完成,UDP连接也已经建立了,但是我发数据却不是发到指定的服务器上,这边的local? IP address怎么会和remote? IP address一样呢,我不解,但是这

些都是协议内部处理的,协议都是成熟的协议,不大可能协议会错啊。

这是我要发送给它数据的服务器IP地址和端口
#define SERVER_IP? "222.187.119.57"
#define SERVER_PORT? 7502
连接建立了,但我发了就是收不到,怎么回事呢?




请问你的GPRS模块是如何加电的?
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

8
 
IP地址一样会不会造成冲突呢?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表