选择显示字体大小

短消息服务(sms)编程介绍

短消息服务是在移动通讯全球系统(global system for mobile communications.networks ,gsm)中的移动电话间发送<-- copyright 1999-2000 thruport technologies http://www.thruport.com --><-- end dynamic banner insert -->短字母-数字消息(最长160个字符)的标准。它有些象分页技术,但是使用文本,目前的多数电话支持短消息服务。

短消息服务的一个关键特性是通过移动网络操作员的网络立即发送的消息,不需要手工连接到inte.net服务提供商(inte.net service provider,isp)--sms消息都是立即发送的,而电子邮件需要接收者从邮件服务器上检索。同样,接收者如果不在线--如果电话关闭了--sms消息存储在操作者那儿,在电话再次打开时发送。

在pocket pc 2002 phone edition设备上,你能象处理电子邮件消息一样处理sms消息。sms消息组件与标准收件箱应用程序集成了,允许象发送和接收电子邮件一样发送和接收消息。你甚至可以把电子邮件作为sms消息转发和回复。



可激活短消息服务的应用程序

许多商业情况涉及一些类型的通知,sms是一条实现多种商业事件通知的强大的途径。可能的情况是销售人员通知服务工程师客户需要某种服务,服务工程师在用户那儿通知执行重要的商业事件,或者执行人员通知所有与客户相关的人员新客户的处理测试

使用sms的另一个好处是实现移动商务(m-commerce),sms通常用于处理支付事务。例程开始将演示怎样从pocket pc 2002 phone edition设备发送sms消息。

编码过程

下面是发送sms消息核心代码。首先需要定义一些微软windows api:

l 一个api打开sms消息组件

l 一个api发送sms消息

l 一个api关闭sms消息组件

public declare function smsopen lib "sms" (byval ptsmessageprotocol  as string, byval dwmessagemodes as long, byref psmshhandle as  long, byref phmessageavailableevent as long) as longpublic declare function smssendmessage lib "sms" (byval smshhandle  as long, byval psmsasmscaddress as long, byval  psmsadestinationaddress as string, byval pstvalidityperiod as  long, byval pbdata as string, byval dwdatasize as long, byval  pbproviderspecificdata as string, byval dwproviderspecificdatasize  as long, byval smsdedataencoding as long, byval dwoptions as long,  byref psmsmidmessageid as long) as longpublic declare function smsclose lib "sms" (byval smshhandle as long) as long


你也需要为不同的api声明一些api常数:

public const sms_msgtype_text = "microsoft text sms protocol"public const sms_mode_send = 2            '用发送模式打开public const smsde_gsm = 1                '使用标准gsm  encodingpublic const smsat_international = 1      ' 国际号码  formatpublic const ps_message_option_none = 0   ' 没有消息选项public const ps_message_class0 = 0        ' 立即发送public const psro_none = 0                '没有更替public const sms_option_delivery_none = 0 ' 没有发送选项


下面是发送sms消息的完整代码:

public sub sendsms(byval number as string, byval message as string)  dim smshandle as long  dim smsevent as long  dim smsaddress as string  dim smsprovider as string  '打开sms消息组件  call smsopen(sms_msgtype_text, sms_mode_send, smshandle, smsevent)  '设置地址结构体  smsaddress = longtobytes(smsat_international) & number  '设置提供者结构体  smsprovider = longtobytes(ps_message_option_none) & _                longtobytes(ps_message_class0) & _                longtobytes(psro_none)  '发送消息  if 0 = smssendmessage(smshandle, 0, smsaddress, 0, message, _         lenb(message), smsprovider, 12, smsde_gsm, _         sms_option_delivery_none, 0) then    msgbox "message sent!", vbinformation, app.title  else    msgbox "could not send message!", vbcritical, app.title  end if  '关闭sms消息组件  call smsclose(smshandle)end sub




首先sms消息组件被打开(smsopen),它的句柄被保存(smshandle)。调用sms api时该句柄是必须的。

调用smssendmessage时需要一些结构体或者udt(用户定义类型)。因为嵌入式visual basic缺乏对udt的支持,简单字符串用于模拟结构体。

第一个是包含sms消息地址的结构体。地址结构体包含支持的号码类型以及号码本身。下一个结构体是关于服务提供者的一些选项。该结构体的第一部分指示没有选择特定的项,第二部分显示消息必须立即发送,最后的部分规定不能替换。

在发送消息(smssendmessage)的调用中,提供了准备好的结构体、消息文本和一些选项。最后,句柄被关闭(smsclose)。



结论

sms对于短小及时的文本通知有很大用处。在pocket pc 2002 phone edition的支持下,你可以使应用程序"sms自唤醒"。使用例程的代码,大部分需要的操作完成了。如果你接受移动世界,按照通讯机制和协议,更多是使用"并且"而不是"或者",你能按需求使用任意选项。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons