这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » GPRS 遇到GPRS开发的一个技术问题,一筹莫展

共2条 1/1 1 跳转至

GPRS 遇到GPRS开发的一个技术问题,一筹莫展

院士
2006-09-17 18:14:16     打赏
GPRS 遇到GPRS开发的一个技术问题,一筹莫展



关键词: 遇到     开发     一个     技术     问题     一筹莫展    

院士
2006-12-22 22:43:00     打赏
2楼
问 我用单片机+GPRS模块实现彩信的发送。
目前已经做好的部分有,PPP协议和TCP/IP协议。
我也按照MMS封装规范做了一个数据包。
但是不知道怎么发送,该往哪里发送?查了移动给的手机设置的相关参数。
数据承载方式GPRS
接入点名称cmwap,
用户名无,
提示输入密码无,
密码无,
鉴定普通,
主页<http://mmsc.monternet.com>,
高级设置:
手机IP地址自动,
主域名服务器0.0.0.0,
次域名服务器0.0.0.0,
代理服务器10.0.0.172,
代理端口80
是不是说我在单片机上实现也是类似的呢。彩信照理说也是基于TCP
基础上传送。为什么我与10.0.0.172建立SOCKET就是不行呢 1: MMS是由GPRS承载的业务属应用层,不能用GPRS的传输方法来硬套。 2: 应用层也要基于低层协议来传送吧MMS是基于WAP中的WSP协议部分,大致就是讲数据封装。
但是低层数据传输不是TCP/IP和PPP吗?那我该怎样发送呢。
请指点个大概方向也好啊
3: 你的封包还要符合MMS规范才行对MMS而言,TCP/IP并非“透明”的。 4: MMS包是严格按照封装规范来的有点不是很清楚,所谓透明和非透明是什么意思啊? 5: 中间还有别的协议层?MMS over HTTP over TCP/IP over GPRS/CDMA
是不是这样说的呢?
6: mms不是使用tcp/ip协议的mms协议-wap协议-ppp协议-gprs链路

是这样的一个层次的。 7: 你说的很不一样哦不知道该听谁的。
   请问大哥做过相关项目吗? 8: jfong81说的正确MMS之所以复杂是因为其是一项应用层的“业务”,其虽然也是基于同样的物理层和传输层,但仅有底层是无法工作的。举个例子就像PC平台上的应用编程基于DOS核和基于Windows是截然不同的,不能因为Windows是构架在DOS基础上的就拿DOS的方法来进行Windows编程,而在PC平台上的BIOS级编程又是另一个概念了。 9: 一个无线帮主跟我说的是这样WTP / WSP ? 是包含在MMS里面了。
MMS根本和WAP网关是两回事情。
MMS完全可以绕开WAP网关。就是封装沾了点WAP的边。
MMS发送有两种方式。 一种走GPRS,另外一种走MMS Indication。
http://mmsc.monternet.com:9201 9201是WAP端口。
MMS和WAP的实际物理关系并不是很密切。
MMS = WAP Push + HTTP over GPRS
MMS不需要通过WAP网关。
10: 换个id回来继续讨论建议golden集中在一个帖子里讨论吧。
9201是wap网关10.0.0.172的端口,切记。 11: 绕开WAP网关绕开的话 也就是说10.0.0.172:9021  根本不用设置
    是不是HTTP连接MMSC直接发送MMS? 走HTTP怎么发? 12: 有两个软件可以帮助你很好地理解mms的发送过程一个是nowsms/mms,这是一个短信、彩信网关程序,有试用版,通过它你可以在pc上收发彩信(gprs模块要接上,嘿嘿);
另一个是ethereal,一个类似与sniffer的网络抓包分析程序,它的优点是能够解析wap协议和mms的协议。
你通过这两个软件,就看清楚在一个彩信的发送过程和接收过程的底层是怎么样的,会让你的概念比较清晰。
我只是在pc上实现了彩信收发,而且是用java的程序,c的源码我还没有发现。对你在单片机上的实现直接帮助不大。如果你实现了,还请你多多指教。 13: nowMMS 我下了 但是不方便用但是因为GPRS是连在板子上,所以不太好用了。
    MMS封装不是很大的问题,我主要是不清楚走的是哪些协议层。
有位大哥说的和我看的资料不一样,而且拒了解。通常的发送流程都是
MMS==》HTTP==》TCP/IP==》GPRS
    我现在不是很明白的是,这个走HTTP是怎么个过程。对方地址和端口又是什么?  
    还请dr.prajna指点。 14: 我的实现流程是这样,http直接连接mmsc估计不可能我们可以将彩信中心认为是一个有公网IP的服务器,可以通过http去访问。
但是事实上,移动运营商是不可能将他们的服务器暴露在公网下面的,试图用http直接连接mmsc可以说是不可能的。
手机收发彩信的过程是这样的:
(1)发送过程

a. 使用gprs拨通ppp服务器,完成身份鉴定,由服务器分配ip,如果是cmnet接入,ip段应该是10.99.*.*;cmwap则是10.100.*.*,登录成功;
b. 使用wap协议向wap网关10.0.0.172:9201发出一个connect数据报(0x01),使用的协议层次从高到低为:
   WSP (无线会话协议)
   WTP (无线传输协议)
   UDP (大家都知道的啦,本来应该是无线数据报协议WDP,可能类似吧)
   IP  (地球人都知道)
   然后wap网关会返回一个connectreply的数据包(0x02),相同的封装层次;
c. 向wap网关发一个MMS m-send-req的数据包,里面封装了彩信内容,这个数据报的协议层次为:
   MMS Message Encapsulation
   WSP  (以下的相同)
   然后wap网关返回一个MMS m-send-conf数据包,里面包含了mmsc给这个彩信分配的message-id等信息。
d. 断开wap网关的连接。

(2)接收过程
a. 首先接收一条wap push短信,里面包含了取彩信的地址,也就是URI信息,如:http:/218.200.246.125/wPeIhrueaaebh
b. 连接wap网关的过程与发送时相同;
c. 向wap网关发送一个WSP GET数据包(0x40),里面包含了URI信息;
d. wap网关返回MMS m-retrieve-conf数据包,封装了彩信内容。
e. 断开wap网关连接

从这两个过程可以看到,我们需要完成的工作是实现和wap网关的连接,要使用的协议是wap协议,经过wap网关之后,网关会自动将我们的wap协议转换为tcp协议与mmsc连接。

我的做法是这样,不知道还有没有其他实现方法,欢迎讨论。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]