VS2008开发智能设备程序_第1页
VS2008开发智能设备程序_第2页
VS2008开发智能设备程序_第3页
VS2008开发智能设备程序_第4页
VS2008开发智能设备程序_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VS2008智能设备程序开发,本PPT改编自以下博文:,1建立智能设备开发项目,建立智能设备开发项目,过程和VS2008中的建立其他工程步骤相同,通过菜单“文件新建项目”,建立一个新项目。VS2008已经集成了智能设备的开发环境,根据开发语言的不同,在不同的开发语言树中选择“智能设备”,下方的名称中填写项目名称,点击“确定”按钮,就建立了一个智能设备的程序项目。,2智能设备应用程序开发,智能设备应用程序开发,按照设计要求组织程序结构界面应用程序集需要了解智能设备平台GUI控件.netcompactframeAPI,绘制窗体,智能设备的窗体和桌面windows窗口的差别不是很大。这部分的开发和普通的Windows程序开发没有什么不同。在项目中选择添加窗体后,VS2008中出现智能设备屏幕模样的模板。需要什么交互功能,在工具箱中把对应的控件拖到模板上即可。,菜单的建立,与桌面应用开发稍有不同的部分就是菜单。智能设备的菜单中有缺省菜单,就是在屏幕底部有个菜单控件,可以通过增加菜单项的方式增加菜单。需要注意的是一级菜单只能有两个,在设置的时候,只能先设置左边的菜单项内容,才能设置右边菜单项内容。,控件,控件的使用也是有严格限制的。VS2008中能使用的控件分布在工具箱的“所有设备控件V2”、“公共设备控件v2”、“设备容器v2”、“设备菜单和工具栏V2”、“设备数据V2”、“设备组件V2”、“设备对话框V2”。使用控件的方式和Windows桌面程序窗体的设计没有什么不同。,3建立调试环境,调试,调试程序的方式同普通的桌面窗口程序调试差别不大,也可通过单步调试等功能。区别就在于调试中程序在仿真器中运行。VS2008中已经包括了智能设备的仿真程序,编写的程序可以通过PC机上的仿真程序进行调试,不必在一直在手持设备上逐个调试程序。,设置设备仿真器,建立项目后,通过菜单“项目项目属性”中的“设备”页中设置调试内容。在下拉框中,选择目标设备的类型。根据实际智能设备的操作系统进行确定。如果对选项中的内容不了解,请查阅其他资料。智能设备上如果是中文操作系统或中文的应用程序,请选择“CHS”打头的选项。仿真程序的选择和设置也可以通过VS2008中的“工具设备仿真器管理器”进行设置。,本地文件操作的调试,在调试中,程序如果只有一个EXE文件,而不涉及到其他文件,可以直接在仿真程序中运行。但是如果程序需要读写其他文件的话,需要把相关文件也要部署到智能设备仿真器上。如何部署其他文件到模拟器呢?有多种方法,可根据条件及需要选取其中一种,方式1:直接部署文件,通过仿真器上的菜单“文件配置”菜单设置共享文件夹。通过后面的按钮,浏览电脑中的磁盘,并选择恰当的目录。“共享文件夹”在设置完成后,将作为智能设备仿真器的扩展存储空间,仿真器中共享文件夹被命名为“StorageCard”。在仿真器中就可以直接操作共享文件夹中的文件。可以把其他与程序相关的文件拷贝到需要的地方。,方式1:直接部署文件,下面以某个保存系统配置的XML文件为例。该XML文件和程序的可执行程序在一个目录下,用来保存程序的配置参数。XML文件在电脑上,程序中通过读取可执行程序所在的目录来指定XML文件的目录。但是很不幸,仿真器在运行过程中,认为EXE可执行程序在“programfiles项目名称”这个目录下,这个目录是仿真器中的路径,肯定是不会找到XML文件的。这就需要把XML文件也放置到“programfiles项目名称”目录下面去。,方式1:直接部署文件,在仿真器中点击“开始资源管理器”,打开后选择“StorageCard”。通过仿真器界面上的文件目录功能选中文件,然后点击下面的“菜单编辑复制”,将文件复制出来。然后找到“我的设备programfiles项目名称”进入以项目名称为名称的目录,通过“文件编辑粘帖”,把文件拷贝到可执行程序所在的运行目录下,方式2:使用同步软件,首先查看桌面机操作系统,若是WindowsVista,一般情况下已经安装有WindowsMobileDeviceCenter(移动设备中心)其他较早期的操作系统(2000/2003/XP),需要先安装微软的MicrosoftActiveSync它们是用来连接计算机与移动设备的应用软件。MicrosoftActiveSync最新的版本是4.5,而且有简体中文版本支持。,方式2:使用同步软件,程序代码完成后,启动模拟设备进行调试点击VS2008菜单的“工具”“设备仿真管理器”中选择一款模拟器,右键选择“连接”,等模拟器启动运行后,再右键选择“插入底座”,就会与ActiveSync等连接了。,方式2:使用同步软件,MicrosoftActiveSync的窗口界面中会显示与相关模拟器“已连接”信息,方式3:使用VS2008创建智能设备安装部署项目,在智能设备项目中添加新项目其他项目类型安装和部署智能设备cab项目将智能设备项目中生成的应用程序文件及相关资源指定到目标文件夹需要添加注册表项,也可以在项目中指定,方式3:使用VS2008创建智能设备安装部署项目,将生成好的cab文件使用ActiveSync复制到模拟器文件系统中定位到所复制的文件夹,点击cab文件进行安装在安装文件夹启动程序,开始运行。,4仿真器网络功能配置,仿真器网络功能配置,1、打开ActiveSync,点击“文件连接设置”,在“允许连接到以下其中一个端口”下选择“DMA”。2、打开VS2008,点击菜单“工具设备仿真管理器”,选择一个”WindowsMobile”模拟器。在右键菜单中点击“连接”。等模拟器启动后,再点击“插入底座”此时,通过ActiveSync来连接到模拟器,并进行数据同步。,仿真器网络功能配置,3、在模拟器的操作系统中,点击“开始设置”,点击“连接”选项卡。1)选择“网卡”:“我的网卡连接到”选“默认单位设置”。在“点击适配器以修改设置:”下面选“AsyncMacNDISWANMiniport”,选中“使用服务器分配的IP地址”,点击右上角的“ok”,提示“新设置将在下次使用适配器时应用。如果适配器当前插在设备中,请先移除,然后重新插入适配器以应用设置。”,点击“ok”,“ok”。2)在“连接”选项卡中选择“连接”:在“高级”选项卡中,点击“选择网络”,在“在程序自动连接到Internet时,使用:”下面选“单位设置”,默认是“Internet设置”,然后,连续点击右上角的“ok”,“ok”,“X”返回。,仿真器网络功能配置,4、此时,就可以上网了。依次点击“开始”“InternetExplorer”“收藏夹”“MSNMobile”,就会出现页面了。如还打不开网页,可在“设备仿真器管理器”中选中该模拟器,先点击右键菜单中的“移除底座”,再点击“插入底座”,重新与ActiveSync连接一次,就没问题了。,5移动数据库,在本课程教学中,将使用微软的SQLSERVERMobileCompact3.5。以下PPT就SQLSERVERMobileCompact3.5的使用进行说明。其他的数据库同学们可以在文档的帮助下尝试使用。MicrosoftSQLServer2005CompactEdition,5.1获得SQLSERVERMobileCompactEditor3.5,SQLSERVERMobileCompact3.5可以直接从微软的网站上下载,网址为:,5.2使用SQLSERVERMOBILE,在SQLSERVERMANAGERSTUDIO2005中使用SQLSERVERMOBILE在登录部分,服务器类型选择“SQLSERVERMOBILE”,数据库文件通过下拉框中的“浏览更多”选择建立的数据库文件,也可以通过选择窗体中的“新建数据库”建立新的数据库。输入数据库密码,即可登录到SQLSERVERMOBILE数据库中。注意:3.5版本建立的数据库,在SQLSERVERMANAGESTUDIO2005中可能无法登录。,5.3Sqlservermobile数据库中建立数据表,SQLServerMobile中建表可以通过SQLServerManageStudio2005中的建表向导进行建表,也可以通过SQL语句进行建表。注意字段类型和sqlserver中的字段类型并不相同,在SQLServer中能使用的字段类型,在SQLServerMobile中可能无法使用,5.4在智能设备上部署SQLserverMobile数据库,注意:WindowsMobile中不包含数据库引擎如果使用智能设备访问SQLSERVERMOBILE,需要额外的安装四个包。如果不安装这四个包,程序将无法连接和读取SQLSERVERMOBILE数据库。把建好的数据库文件通过前面课程里介绍的方法,拷贝到相应的仿真器目录下。这时候仿真器就可以连接并操作SQLSERVERMOBILE数据库了。,5.5找到这四个包,这四个包在sqlservermobile安装目录下,如C:ProgramFilesMicrosoftSQLServerCompactEditionv3.5Deviceswce500armv4i目录下面,包括:sqlce.dev.CHS.ppc.wce5.armv4i.CABsqlce.ppc.wce5.armv4i.CABsqlce.repl.ppc.wce5.armv4i.CABsqlce.wce5.armv4i.CAB,5.6复制安装四个包到仿真器或设备,将这四个文件拷贝到仿真器上,并安装。安装后,智能设备的程序中增加了三个程序:sqlservercompact3.5ReplSqlserverCompact3.5ToolsCNSqlserverCompact3.5Core当不用移动数据库时,可以卸载这三个程序。,6使用数据库连接字符串,6.1Sqlservermobile,在工程中增加引用,引用System.data.sqlserverCe在类中使用命名空间:System.data.sqlserverCe数据库“连接类”名、”命令类”名及”记录集类”名中都使用包含Ce的类。,实例代码-1,usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlServerCe;usingSystem.Data.SqlClient;,实例代码-1,namespaceGPSDataReaderpublicpartialclassfrmDamUp:FormSqlCeConnectionConnMobile;SqlCeCommandcommand;publicfrmDamUp()InitializeComponent();,实例代码-1,privatevoidfrmDamUp_Load(objectsender,EventArgse)/获取可执行程序所在目录和数据库文件stringsFilePath=System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)+DamBase.sdf;,实例代码-1,/连接sqlserverMobile数据库的连接字符串stringConnStr=DataSource=+sFilePath+;PersistSecurityInfo=False;password=admin;/建立链接ConnMobile=newSqlCeConnection(ConnStr);,实例代码-1,tryConnMobile.Open();catch(Exceptionex)MessageBox.Show(不能正确连接移动数据库!+ex.Message);this.Close();,实例代码-1,command=newSqlCeCommand();command.Connection=ConnMobile;stringsqlstr=select*fromDamInfowhereIsUP=1;command.CommandText=sqlstr;SqlCeDataReaderrs=command.ExecuteReader();,实例代码-1,while(rs.Read()ListViewItemlv_Item=newListViewItem();lv_Item.Text=rsRSID.ToString();lv_Item.SubItems.Add(rsRSNM.ToString();lv_Item.SubItems.Add(rsDMPRV.ToString();lv_Item.SubItems.Add(rsDMCT.ToString();lv_Item.SubItems.Add(rsDMTW.ToString();lv_Item.SubItems.Add(rsEL.ToString();lv_Item.SubItems.Add(rsNL.ToString();lv_Item.SubItems.Add(未上传);lv_DamInfo.Items.Add(lv_Item);,实例代码-1,rs.Close();if(lv_DamInfo.Items.Count=0)MessageBox.Show(没有需要上传的数据!);this.Close();,7智能设备连接访问数据库服务器,智能设备操作其它主机上(如某pc)的数据库,有两种方式:一种是通过无线连接,另一种是通过USB连接到电脑上。使用无线连接通常会产生费用,调试时一般不会采取,很多情况下是通过USB数据线进行连接的。使用USB数据线连接,PC电脑上需要安装同步工具,通常是前面课程所介绍的ActiveSync智能设备和PC同步后,就可以把智能设备看作一台电脑,可以连接数据库。,7.1智能设备连接PC上的SQLSERVER,智能设备不支持OLEDB连接方式,只能使用SQLSERVER.Net的连接方式。需要增加System.data.SqlClient引用。在需要连接的类中增加System.data.SqlClient命名空间。,实例代码-2,usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlServerCe;usingSystem.Data.SqlClient;,实例代码-2,privatevoidb_Down_Click(objectsender,EventArgse)stringsqlstr;stringConnstr=userid=sa;password=2centit13;initialcatalog=DamBase;Server=+ConfigInfo.IP+;ConnectTimeout=30;SqlConnectionConn=newSqlConnection(Connstr);,实例代码-2,tryConn.Open();catch(Exceptionex)MessageBox.Show(无法连接到指定的PC数据库!+ex.Message);return;,8使用VS2008开发WAP网站,一点说明,在VS2008创建新项目,添加新项时会发现以前在VS2003/2005中的“移动Web窗体”项没有了这是因为微软并未提供相应的模板。这确实很令人疑惑,网上的说法:据Microsoft-VisualWebDeveloper的团队项目经理OmarKhan的说法,这是因为VisualStudio2008中的设计视图是基于一个全新的架构设计的,所以这一部分模板暂时还没有跟上,ASP.NETmobilecontrols并不能显示。,VS2008中找不到此模板,如图,微软的VS2008不支持移动窗体的设计模式,只能在源模式下进行编辑。不过,这应该不是什么太大的问题,网上有模板可以下载(可在网上搜索,相关过程略)安装之后,可以从“我的模板”里选择,从网上下载安装之后,下了模板依然不能显示、使用,很遗憾的是尽管有了模板,但是由于VS2008的Designer架构进行了较大改进,微软的VS2008目前并不支持移动窗体的设计模式,该模板只能在Sourcecode的模式下进行编辑,不能在设计模式下编辑。VS2008可以在此模式下进行界面的搭建与代码的编写,与普通的AWeb页面没什么区别。,在VS2008下只好手动修改,手动将web形式的界面改为WAP平台兼容的格式。代码如下声明:,代码示例-3,快速找工作|VIP通道|注册会员|登陆本站资源所有免费!版权所有:一线人才,接着我们就可以进行界面的搭建与代码的编写,与普通的AWeb页面没什么区别。,这是后台代码,与PC连接,准备访问WAP网站,代码完成后,就可以通过模拟设备进行调试了。从VS2008的“工具”-“设备仿真管理器”中选择一款模拟器,右键选择“连接”,等模拟器运行后,再右键选择“插入底座”,就会与ActiveSync连接。,ActiveSync会自动同步移动设备与计算机,如果一切正常,就可以在模拟器里看到编写的页面了。,查询车辆:,车辆的详细信息:,移动web窗体的可用控件,移动web窗体的可用控件并不多最常用的就是label、text、list、selectionlist、command、link几种,WAP开发基本步骤-1,基本原理概念的了解wap网站用的是wml标识,非html,而且传统的javascript也不再适用,而是wmlscript首次接触时,要先大概了解一下相关基本概念,学习资源很多,如:,WAP开发基本步骤-2,选择一款好的WAP浏览器,一般的,普通浏览器不能直接浏览WAP网站因此调试时,可以找一个模拟器,常用的有:opera9以上版本(但好象不支持wmlscript)openwavewinwapm3gate,WAP开发基本步骤-3,搭建测试环境(以IIS为例)wap网站跟常规网站的不同在于,需要增加几个mime类型的支持在iis的站点mime类型里,把.wml,.wmls,.wmlc,.wmlsc,.wbmp这五类后缀添加进去就可以了,WAP开发基本步骤-4,VS2008的配置VS2005本来可以直接创建“MobileWebForm”VS2008反而将过一功能去掉了,所以需要手动下载移动web窗体的模板,详细可参考,WAP开发基本步骤-5,为方便测试,还需要强制让VS输出wml,在web.config中把下面这节内容放在之后preferredRenderingType=wml11preferredRenderingMime=text/vnd.wap.wmlpreferredImageMime=image/vnd.wap.wbmp另外,因为wap开发中,很多常规控件都不能用,所以只能用一些最基本的移动控件,除此之外,其它开发跟常规WebForm无异,其实,如果仅针对IEmobile或其他高性能移动浏览器设计网站的话,可以使用标准的html编写网站应用IEMobile支持HTML4.01CSS、HTML4.0、ExtensibleHTML、DHTML和HTMLElements。还可以创建基于IEMobile的AJAX应用程序增加了对Adobe公司的Flash等行业标准的支持,能够让用户在自己的智能手机上看到全屏幕的网页和多媒体内容,就像用户在PC上看到的一样。这个最新版本的移动浏览器还支持微软最新的Silverlight网页显示技术。IEMobile启动快,其在操作系统内集成,因此很稳定。安装下载插件后,可以很方便地下载网上的资源。这个移动版IE浏览器能够给移动设备带来台式电脑级别的网络浏览功能。,网络资源,InternetExplorerMobile6详细试用,IEMobile,当然还有其他一些高性能移动浏览器,OperaMobileUCWEB6星际浏览器SafariNFNokiaMobileBrowserOperaMobileBlazerMozillaMinimoChromeLiteBlackBerryInternetBrowser,VS2010对移动Web窗体的支持,VS2010对移动Web窗体的支持,9如何集成消息架构,三种层次的解决方案直接调用消息应用程序(程序依赖)利用MAPI编程(平台环境依赖)SMTP与POP3应用编程(通用)注意消息的发送端及接受端都需要有消息访问接口,才能将消息架构集成进来,9.1直接调用消息应用程序,WindowMobile关于消息管理的应用程序是tmail.exe可以在程序代码中启动并传递相关消息参数,发送短消息或邮件,tmail.exe的命令参数,参数格式-service-to-cc-bcc-body-subject-attach解释如下:-service选择mailacount这里可以是SMS,MMS,ActiveSync,Email账号-to发送邮件给谁,可以多个邮件地址,用“;”分隔。-ccCopytosb,同上。-bccBlindcopy同上。-body邮件内容。-subject邮件主题-attach附件,注意,附件要用绝对路径。,C+示例代码,SHELLEXECUTEINFOsi;ZeroMemory(,VB示例代码,DimpAsNewProcessp.StartInfo.FileName=windowstmail.exep.StartInfo.Arguments=-serviceActiveSync-TO但要注意在发送完毕后,短信列表页面会在你关闭发送信息窗口后呈现出来,可以在应用程序窗口的关闭事件中,使用FindWind方法,找到系统的【短信】窗口,将其关闭即可。,无感知短信,目标操作系统WindowsMobile5.0及以上版本无感知短信接口与Mobile操作系统的版本有关如果是基于WindowsMobile5.0及以上的设备,完成短信发送比较容易因为微软已经给你封装好了底层的API,可以直接进行调用,引用Microsoft.WindowsMobile.PocketOutlook.dll后,使用SmsMessagesmsSend=newSmsMessage(phone,sms);smsSend.Send();可以完成对一条短息的发送。,9.2使用MAPI实现,参考WINMobileSDKMAPI实例,了解详情,9.2使用MAPI实现,其他技术资源CEMAPI实战攻略提纲CEMAPI实战攻略(一)准备工作CEMAPI实战攻略(二)建立与短信信箱的连接CEMAPI实战攻略(三)操作信箱中的短信息(上)CEMAPI实战攻略(三)操作信箱中的短信息(下)CEMAPI实战攻略(四)发送短消息CEMAPI实战攻略(六)如何截获到达的短消息,9.3SMTP与POP3应用编程,包括通过应用程序发送电子邮件利用同步TCP接收电子邮件,电子邮件是通过SMTP服务器进行发送的SMTP是英文SimpleMailTransferProtocol的缩写,意为简单邮件传输协议,默认端口为25。使用SMTP协议发送邮件时,有两种形式1)客户端可以使用匿名方式发送邮件,不使用客户端认证,这种方式即是一般的SMTP协议2)客户端必须提供用户名和密码,这种方式称为ESMTP协议,即ExtendedSMTP,或者叫扩展SMTP。ESMTP与SMTP的区别除了是否需要认证以外,其他均相同。为了避免或者减少垃圾邮件,目前大部分SMTP邮件服务器一般均采用用户名密码认证的方式。,通过应用程序发送电子邮件,在SMTP协议中,电子邮件由四部分组成信封首部正文结束符号,通过应用程序发送电子邮件,第一部分:信封包括发信人的邮件地址和接收人的邮件地址,用两条SMTP命令指明。MAILFROM:,告诉SMTP服务器发信人的地址。RCPTTO:,告诉SMTP服务器收信人地址。,通过应用程序发送电子邮件,通过应用程序发送电子邮件,第二部分:首部:FROM:,表明邮件发送者是谁。TO:,表明邮件接收者是谁。SUBJECT:,表明邮件的主题。DATE:,表明发邮件的时间。REPLY-TO:,表明邮件的回复地址。Content-Type:,表明邮件包含文本、HTML超文本和附件的哪些类型。X-Priority:,表明邮件的发送优先级。MIME-Version:,MultipurposeInternetMailExtensions(多用途Internet邮件扩展标准),它对传输内容的消息、附件及其他的内容定义了格式。,通过应用程序发送电子邮件,第三部分:正文正文是邮件的内容。首部以一个空行结束,再下面就是正文部分。第四部分:结束符号邮件以“.”结束。,通过应用程序发送电子邮件,对于运行在没有专用邮件服务器的大多数客户程序而言,向SMTP服务器发送邮件需要提供用户名和密码,服务器验证成功后,才能进行发送或接收。因此在应用程序中发送邮件,需要使用下面几个类(这里仅仅用于非移动端的邮件接口编程):System.Net命名空间下的NetworkCredential类System.Net.Mail命名空间下的MailAddress类System.Net.Mail命名空间下的MailMessage类System.Net.Mail命名空间下的Attachment类System.Net.Mail命名空间下的SmtpClient类,1)System.Net命名空间下的NetworkCredential类该类用于提供客户端身份验证机制的凭据。其中包括标准Internet身份验证方法基本、简要、协商、NTLM和Kerberos身份验证)以及可以创建的自定义方法。在邮件发送中,我们需要使用这个类提供SMTP服务器需要的用户名和密码,用法为:NetworkCredentialmyCredentials=newNetworkCredential(发件人邮件地址,密码);,通过应用程序发送电子邮件,通过应用程序发送电子邮件,2)System.Net.Mail命名空间下的MailAddress类该类用于提供发件人和收件人的邮件地址,常用形式为:MailAddressfrom=newMailAddress(发件人邮件地址);MailAddressto=newMailAddress(收件人邮件地址);,通过应用程序发送电子邮件,3)System.Net.Mail命名空间下的MailMessage类该类用于提供邮件的信息,包括主题、内容、附件、信息类型等,常用形式为:MailMessagemessage=newMailMessage(from,to);message.Subject=主题;message.SubjectEncoding=System.Text.Encoding.UTF8;message.Body=邮件内容;message.BodyEncoding=System.Text.Encoding.UTF8;,通过应用程序发送电子邮件,4)System.Net.Mail命名空间下的Attachment类该类用于提供附件对象,常用形式为:AttachmentattachFile=newAttachment(文件名);message.Attachments.Add(attachFile);,通过应用程序发送电子邮件,5)SmtpClient类该类用于发送邮件,常用形式为:SmtpClientclient=newSmtpClient(邮件服务器地址);client.Send(message);,利用同步TCP接收电子邮件,收发邮件使用了两种协议一种是TCP协议,用于收发数据;另一种是POP3协议,用于解析传送的命令。接收电子邮件主要是利用POP(PostOfficeProtocol)协议,现在常用的是第三版,简称为POP3,默认端口为110。通过POP3协议,客户机登录到服务器后,可以对邮件进行删除或下载,下载后,电子邮件客户端软件就可以在本地对邮件进行处理。,客户端软件读取邮件之前,需要事先与服务器建立TCP连接。连接成功后,POP3服务器会向该客户端发送确认消息,客户端等待服务器响应,并处理接收的信息,然后再接着发送下一个命令,如此往复多次,一直持续到连接终止。这个过程经历了三个状态:授权状态(AUTHORIZATION)、操作状态(TRANSACTION)和更新状态(UPDATE)。,POP3工作原理,POP3协议中的命令,每条命令均由命令和参数两大部分组成,而且每条命令都以回车换行结束。命令和参数之间由空格间隔。POP3服务器回送的响应信息由一个状态码和一个可能跟有附加信息的命令组成。所有响应也以回车换行结束。状态码有两种:“确定”(“+OK”)和“失败”(“-ERR”)。,1)授权状态客户端首先与POP3服务器建立TCP连接,服务器接收后发送一个单行的确认信息。此时POP3会话就进入了授权状态。在授权状态,客户需要向服务器发送用户名和密码进行确认,具体命令如下:,POP3协议工作的具体过程,POP3协议工作的具体过程,发送用户名。语法形式:USER功能:将客户的用户名发送到服务器。服务器返回:+OK正确的用户名;-ERR错误的用户名。示例:C:USERmynameS:+OKwelcomeonthisserver.假设用C表示Client,S表示Server,POP3协议工作的具体过程,用户名确认成功后,需要输入密码。语法形式:PASS功能:将客户的密码发送给服务器。服务器返回:+OK正确的用户名;-OK错误的用户名。示例:C:PASS*S:+OKmynameloggedinat19:04,POP3协议工作的具体过程,2)操作状态授权成功后,POP3会话将进入操作状态,客户就可以执行POP3命令进行相应的操作。对于每个命令,服务器都会返回应答信息。下面是在操作状态中使用的命令:,POP3协议工作的具体过程,STAT命令语法形式:STAT功能:从服务器中获邮件总数和总字节数。服务器返回:邮件总数和总字节数。示例:C:STATS:+OK2320,POP3协议工作的具体过程,LIST命令语法形式:LIST功能:从服务中获得邮件列表和大小。服务器返回:列出邮件列表和大小。示例:C:LISTS:+OK2messages(320octets)S:1120S:2200S:.,POP3协议工作的具体过程,RETR命令语法形式:RETR功能:从服务器中获得一个邮件。服务器返回:+OK成功;-ERR错误。示例:C:RETR1S:+OK120octetsS:S:.注意,这里的“.”是单独发送的。,POP3协议工作的具体过程,DELE命令语法形式:DELE功能:服务器将邮件标记为删除,当执行QUIT命令时才真正删除。服务器返回:+OK成功;-ERR错误。示例:C:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论