WM下的MMS开发
2008-06-27 17:00 cppguy 阅读(1839) 评论(2) 编辑 收藏 举报彩信是多媒体信息服务(即MMS,它是Multimedia Messaging Service的缩写)业务,它最大的特色就是支持多媒体功能,能够传递功能全面的内容和信息,这些信息包括文字、图像、声音、数据等各种多媒体格式的信息.
这里我们主要讨论一下在.net cf下发送MMS的实现过程
首先我们要先讨论一下SMS与MMS的不同。除了发送接收内容比如图片铃声等多媒体内容的不同,最终要的是他们俩经过的管道是不同的。MMS是需要2.5G网络的支持。SMS的传输总是由处于GSM外部的SMSC(Short Messaging Service Center,短消息服务中心)进行中继。而MMS是以WAP无线应用协议为载体传送视频片段、图片、声音和文字。支持语音、因特网浏览、电子邮件、会议电视等多种高速数据业务,实现即时的手机端到端、手机终端到互联网或互联网到手机终端的多媒体信息传送。
多媒体短信业务是在GPRS网络或cdma2000 1X网络的支持下的,这里我们只以中国移动的梦网做入口的G网做例子,因为G网与C网由于上网入口的不同,对于开发来说mms转发中心与端口都是不一样的。
首先介绍两个常量
public string _mmscUrl = "http://mmsc.monternet.com";彩信服务器地址(MMSC url地址):
public string _proxyUrl = "10.0.0.172:80";IP网关地址
既然是走Wap网,那么我们发送就要使用HttpWebRequest
WebRequest request = WebRequest.Create(_mmscUrl);
HttpWebRequest httpRequest = (HttpWebRequest)request;
对Http的web请求进行配置
request.Proxy = new WebProxy(_proxyUrl); 配置IP网关地址
request.ContentType = "application/vnd.wap.mms-message";
httpRequest.Accept = "application/vnd.wap.mms-message,text/plain,*/*"; request.Method = "POST";
httpRequest.KeepAlive = false;
httpRequest.UserAgent = "Nokia6681/2.0 (4.00.15) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1";
//写入二进制流的彩信数据
byte[] content = msg.GetContent();
httpRequest.ContentLength = content.Length;
Stream requestStream = request.GetRequestStream();
//得到返回信息
WebResponse wRes = request.GetResponse();
HttpWebResponse hRes = (HttpWebResponse)wRes