当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读] 从1996年的Windows CE 1.0 到最新的Windows CE.Net, WINCE 已有8年历史。Windows CE设计简单灵活,可在各种小型嵌入式系统中使用,且其功能强大,在最新一代的高性能工业

 

从1996年的Windows CE 1.0 到最新的Windows CE.Net, WINCE 已有8年历史。Windows CE设计简单灵活,可在各种小型嵌入式系统中使用,且其功能强大,在最新一代的高性能工业和家用设备中也得到了充分使用。Microsoft eMbedded Visual Tools是微软公司专为WINCE设备开发的一套开发环境,功能强大,开发方便快捷。二者的结合为实现嵌入式电子邮件系统提供了绝佳的开发环境。 本嵌入式电子邮件系统,即是以Windows CE为开发平台,结合Embedded Visual Basic 3.0开发工具设计实现的。最后采用Microsoft POCKET PC2002 for Windows SDK工具完成系统的测试。 1 移动设备邮件系统的工作原理 目前网络上的电子邮件传送有点如同日常信件中的普通信件发送,日常生活中人们首先将邮件交给邮局,邮局再按照信封上的地址投递,最后将邮件发到收信的人信箱里,收信人只要凭借他的信箱钥匙就可以拿到信件。同样的一封电子邮件从用户手中发出,首先有一个程序把这封邮件发送到SMTP服务器(发送邮件的服务器)上,再由服务器负责将邮件传递到目的信箱。然后需要一个程序接受信箱的邮件,当然也不是只要随便有一个程序就可以的,还需要帐号(如同收信人姓名)与口令(如同信箱钥匙)。所以很明显,发送邮件至少需要4个处理不同任务,有不同功能的程序:发送邮件到服务器的程序,即发送邮件客户端程序;在网络上传送邮件到对方信箱的程序,即SMTP服务器程序;接受邮件并存贮给用户提取的服务器程序,即POP3服务器程序;从POP3服务器上收取邮件的程序,即接受邮件客户端程序。 收发电子邮件依靠一套标准的会话协议,其中最为著名现在最常用的有:SMTP协议,该协议规定了与SMTP服务器进行对话的一系列命令与过程标准;POP3协议,该协议规定了与POP3服务器进行对话的一系列命令与过程标准。还有IMAP4协议,类似POP3的邮件接收协议。 1.1 SMTP协议 SMTP(Simple Mail Transfer Protocol)又叫做简单邮件传输协议。它主要对如何将电子邮件从发送方地址传送到接收方,也即是对传输的规则做了规定。SMTP协议的通信模型并不复杂,主要工作集中在发送SMTP和接收SMTP上:首先针对用户发出的邮件请求,由发送SMTP建立一条连接到接收SMTP的双工通讯链路,发送 SMTP负责向接收SMTP发送SMTP命令,而接收SMTP则负责接收并反馈应答。

[/b] 图 1 SMTP 通讯模型示意图 1.2 POP3协议 POP3(Post Office Protocol Version 3)是整个电子邮件系统的基本协议之一。POP3适用于C/S结构的脱机模型的电子邮件协议。 初始时,服务器通过侦听TCP端口110开始POP3服务,当客户主机需要使用服务时,它将与服务器主机建立TCP连接。当连接建立后,POP3发送确认消息,客户和POP3服务器相互(分别)交换命令和响应。这一过程一直要持续到连接终止。 2 系统设计 该邮件系统由两个客户端程序组成,SMTP MAILER实现邮件和附件的发送,POP3 MAIL CHECKER用于登陆邮件服务器接受原始的邮件信息。 2.1 邮件发送端设计与实现 2.1.1发送端工作流程


2.1.2具体实现 发送邮件的功能主要由eMbedded Visual Basic下的WINSOCK控件实现WINSOCK即Windows Socket,是微软公司对Socket编程接口的集成。WINSOCK使用IP协议,同时支持TCP与UDP协议,在收发邮件这类基本网络数据通信的前提下,WINSOCK控件是最好的选择。 以A—H表示邮件发送的各部分设计: A 在这个邮件程序中,首先要连接SMTP的邮件服务因此在cmdSend_Click()事件中最先实施的是Wsock.RemoteHost = ServerIp连接设定的服务器主机 Wsock.RemotePort = ServerPort 设定默认的端口。 B 然后开始构造邮件格式,定义字符串m_Date为发送日期,字符串mData为邮件头。语句m_Date = FormatDateTime(Date, [vbShortDate]) %26;amp; ", " %26;amp; FormatDateTime(Date, [vbLongDate]) %26;amp; " " %26;amp; FormatDateTime(Time, [vbLongTime]) %26;amp; "" %26;amp; " -0600" 定义了邮件的发送日期。 构造邮件标题 mData = "From:" %26;amp; Chr(32) %26;amp; strSendName %26;amp; vbCrLf %26;amp; _ "Date:" %26;amp; Chr(32) %26;amp; m_Date %26;amp; vbCrLf %26;amp; _ "X-Mailer: Harold Smtp Mailer V1.0" %26;amp; vbCrLf %26;amp; _ "To:" %26;amp; Chr(32) %26;amp; strReceiveName %26;amp; vbCrLf %26;amp; _ "Subject:" %26;amp; Chr(32) %26;amp; strSubject %26;amp; vbCrLf 这个典型的邮件标题包含了:发件人,发件日期,收件人,主题以及发送邮件的程序名称。 C 当邮件程序连上服务器后,进如下一步打开邮件对话,利用WINSOCK控件发送对话信息:Wsock.SendData "HELO" %26;amp; " " %26;amp; Wsock.LocalHostName %26;amp; vbCrLf 如果SMTP服务器没有返回“250” 应答码,则提示“Unable to establish transaction”. D 由于现在的邮件服务器多采用ESMTP协议,因此需要客户端程序发送用户名与密码等认证信息,故在打开对话过后便进入“Authentication“过程,: Wsock.SendData "AUTH LOGIN" %26;amp; vbCrLf If Not WaitForResponse("334", 10) Then txtMsg.Text = "Unable to Connect with ESMTP server......" Wsock.SendData Encode(User) %26;amp; vbCrLf Wsock.SendData Encode(Pass) %26;amp; vbCrLf 在这里调用了自编的Encode函数并发送了经过BASE64编码的用户名与密码信息。 E 接着是发送发送方与接受方的地址: Wsock.SendData "MAIL FROM:" %26;amp; " " %26;amp; strFromMail %26;amp; vbCrLf ‘发送方 Wsock.SendData "RCPT TO:" %26;amp; " " %26;amp; strToMail %26;amp; vbCrLf ‘接受方 F 下一步是发送消息体(针对不含附件的RFC822邮件): Wsock.SendData "DATA" %26;amp; vbCrLf ‘发送消息体 Wsock.SendData mData %26;amp; vbCrLf ‘发送邮件标题 Wsock.SendData strContent %26;amp; vbCrLf ‘发送正文 Wsock.SendData "." %26;amp; vbCrLf ‘发送结束符 G 在发送邮件时做了附件的判断: If Combo1.List > 0 Then 如果附件列表非空则转入MIME邮件的构造。MIME邮件的标题部分与RFC822相同,但要扩充一些内容 Wsock.SendData "MIME-Version:1.0" %26;amp; vbCrLf Wsock.SendData "Content-Type:multipart/mixed;" %26;amp; vbCrLf Wsock.SendData " boundary = Unique-Boundary" %26;amp; vbCrLf %26;amp; vbCrLf Wsock.SendData "[ Random garbage here ]" %26;amp; vbCrLf %26;amp; vbCrLf Wsock.SendData vbCrLf %26;amp; "--Unique-Boundary" %26;amp; vbCrLf Wsock.SendData "Content-type: text/plain;charset=US-ASCII" %26;amp; vbCrLf %26;amp; vbCrLf Wsock.SendData strContent %26;amp; vbCrLf %26;amp; vbCrLf Wsock.SendData "--Unique=Boundary" %26;amp; vbCrLf Wsock.SendData "Content-Type: multipart/parallel;boundary = Unique-Boundary-2" %26;amp; vbCrLf %26;amp; vbCrLf Wsock.SendData "--Unique=Boundary -2" %26;amp; vbCrLf Wsock.SendData "Content-Type: application/octest-stream;" %26;amp; vbCrLf Wsock.SendData "name =" %26;amp; strAttachname %26;amp; vbCrLf Wsock.SendData "Content-Transfer-Encoding:base64" %26;amp; vbCrLf Wsock.SendData "Content-Disposition:inline;" %26;amp; vbCrLf 这里附件也通过编码加入了邮件中。 H 最后结束邮件对话,返回信息: Wsock.SendData "QUIT" %26;amp; vbCrLf txtMsg.Text = txtMsg.Text %26;amp; "Mail send success!" 2.2 邮件接受端的设计与实现 2.2.1 接收端工作流程


 2.2.2 功能实现 POP3的通信与SMTP一样,也可以通过Winsock来实现。该POP3邮件程序的过程如同POP3对话一样。POP3服务器的应答要比SMTP简单许多,其操作的应答状态码只有两个“+OK”表示成功,“+ERR”表示失败。具体细节不再赘述。 3 软件模块功能测试 为了评估电子邮件系统的两个客户端程序的实际可用性,必须对其系统的各个模块进行测试。本测试所采用的是微软开发的POCKET PC2002 for Windows SDK程序包。 3.1 邮件发送客户端的测试 为了测试邮件发送系统的功效,可在已配置网络的模拟器上载入邮件发送程序,使其工作在虚拟机的操作系统中。 配置好SMTP服务器资料与ESMTP所需的认证信息后,发送一封简单的RFC822电子邮件到对方信箱中,成功发送。同样的方式,测试发送MIME邮件,得到如下测试结果: [b]

[/b] 图4 发送端测试结果 3.2 邮件接收客户端的测试 同邮件发送客户端一样,采用同样的网络设置,载入程序,登入网络。先选择POP3的邮件服务器地址,设定用户信息与密码,确认后获得基础的认证,并传回邮箱中信件的数量与大小统计。经测试收到了预期的效果。 以上两个程序的测试都是在网络环境下进行的,如果网络连接不正常或其他原因导致邮件的收发不成功,在程序设计的出错处理中已经有所考虑。 4 结语 与网络结合已成为所有信息产品的发展趋势,随着PDA等嵌入式系统的日益普及以及无线互联技术(802.11B)的发展,利用PDA实现掌上电脑与台式机间相互传递电子邮件,已经成为一种结合时尚和便利于一身的通信手段。作者设计实现的基于Windows CE的嵌入式电子邮件系统,为实现移动设备之间邮件传输作了良好的尝试。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭