msn机器人程序的设计与实现.docx
《msn机器人程序的设计与实现.docx》由会员分享,可在线阅读,更多相关《msn机器人程序的设计与实现.docx(36页珍藏版)》请在三一办公上搜索。
1、本 科 生 毕 业 论 文(设 计)中文题目: MSN机器人程序的设计与实现 外文题目: The Design and Implementation of MSN Robot Program 摘 要随着网络的兴起,越来越多的人依赖网络,因此聊天机器人应运而生。聊天机器人是以联系人的形式出现的,只要你添加相关机器人的账号,就可以像与真人聊天一样与机器人聊天,并可查询地图、股票、天气预报、电视节目等信息。目前,知名的聊天机器人有:一枝独秀的MSN机器人小i、专业的MSN股票机器人牛牛,国内则如腾讯的QQ机器人小Q,但在功能上和MSN的系列机器人相比有一定差距。本文详细分析了MSN的通信协议与工作流
2、程,并根据分析MSN登录、消息发送与接收流程,设计和实现了简单的MSN客户端程序。该客户端允许在一台电脑上同时登录多个MSN账号,并能与多个MSN用户进行聊天。同时,本文还充分研究了聊天机器人的工作原理,并设计和实现了MSN聊天机器人系统。关键字:聊天机器人;MSN;聊天软件Abstract With the rise of networks, more and more people rely on the network, so the chat robot appeared. Chat robot based on the form of friends, if you have add
3、ed the robots account, you can chat with the robot just like a real person, and can also query maps, stocks, weather, television programs and other information.This document fully studies the MSN Messenger protocol, and uses its landing principles and message send principles to design and achieve a
4、MSN client. The client can login a number of account at the same time in one computer, and start chatting with different friend. At the same time, this document also fully studied the operation principle of the chat robot, and design and achieves the MSN chat robot system based on the MSN client.Key
5、words: Chat Robot; MSN; Chat Software目 录第一章 绪论11.1 研究背景11.2 MSN机器人的发展现状11.3 本文工作2第二章 MSN协议分析32.1 MSN登录过程32.2 即时消息发送接收过程112.3 MSN 连接保持方法15第三章 MSN机器人系统设计173.1 系统结构173.2 系统方案选取183.3 系统难点及相应解决方案183.4 软件结构18第四章 MSN机器人系统实现214.1 系统实现部分214.2 系统测试26第五章 总结与展望295.1 全文总结295.2 工作展望29参考文献30致 谢31第一章 绪论1.1 研究背景自从上世
6、纪中叶第一台计算机诞生以来,计算机越来越走进人们的生活当中,特别是随着计算机网络的发展,把全世界的人们紧密的联系在一起,大大的扩展了计算机的功能,人们越来越离不开计算机了。如今,作为网络应用之一的聊天工具,越来越受到人们的欢迎和重视。现在已有的聊天软件不胜枚举,流行的主要有MSN Messenger、QQ等。MSN Messenger来自于软件巨头微软,其实力当然不容小觑。目前最新版本为MSN9,能够实现文本、手写、语音、视频等多种沟通方式,可以预见在不久的将来,聊天软件将成为人们通过因特网相互联系和娱乐的主要平台。由于MSN Messenger协议是公开的,因此第三方软件开发者能通过协议写出
7、自己的程序与网络交互,于是MSN机器人应运而生。MSN机器人是以MSN联系人的形式出现的,只要你添加相关机器人的MSN帐号,就可以像与真人聊天一样与机器人聊天,并可查询地图、股票、天气预报、电视节目等信息。1.2 MSN机器人的发展现状MSN机器人是一项能够带给用户良好信息体验的技术产品基于人工智能技术的开发、研究和应用,为成千上万用户提供新颖实用的网络服务。MSN机器人技术日渐成熟,其中著名的如赢思软件公司开发的小I机器人。2004年赢思先后在全球知名的即时通讯(IM)平台MSN、“腾讯QQ”及Yahoo Messenger上推出了小I智能机器人;小I以其强大的聊天功能和各类资讯信息的提供一
8、时间成为各大IM平台的新宠,用户量突破800万,在人工智能机器人及信息服务领域获得了前所未有的突破。2006年2月,凭借在机器人领域多年的积累以及强大的技术实力,赢思软件成为微软全球战略合作伙伴及微软官方机器人平台,携手微软打造最强大的机器人应用平台。目前公司已推出小I聊天、MSN群、小I地图、小I天气、小I收视指南、小I问答等多项应用,提供了多种个性化功能和服务,性能稳定,应用广泛。1.3 本文工作本文将重点分析MSN Messenger协议里的登陆过程和消息发送部分,并用其设计并制作一款MSN客户端,然后在此基础上完成对MSN机器人系统的设计和实现,以达到研究聊天机器人运作原理的目的。具体
9、的章节安排如下:第一章 研究背景及当前技术的发展状况第二章 MSN协议分析第三章 MSN机器人系统设计第四章 MSN机器人系统实现第五章 总结与展望第二章 MSN协议分析2.1 MSN登录过程1TCP连接到(207.46.104.20)上的1863端口,发送如下指令:VER 1 MSNP9 MSNP8 CVR0rn服务器返回:VER 1 MSNP9 MSNP8 CVR0rnVER命令是用来和服务器协商MSN客户端所使用的版本信息,其中1代表TrID是命令序号,后面是所支持协议的版本,必须以CVR0结尾。2客户端发送CVR命令到服务器声明客户端环境:CVR 2 0x0804 winnt 5.0
10、i386 MSNMSGR 6.0.0602 MSMSGS yxu68rnCVR 命令有一个TrID和另外8个参数。第一个参数是客户端语言的Local ID,简体中文为0x0804,美国英语为0x0409,台湾为0x0404,日本为0x0411,韩国为0x0412;第二个参数为操作系统类型,winnt代表NT系列,Win代表win9x系列;第三个参数为操作系统版本号,5.0表示Windows 2000,5.1 表示Windows XP,4.10表示Windows 98;第四个参数为计算机体系结构,i386 表示Intel 386以上机型;第五个参数为客户端名称,MSNMSGR表示MSN Mess
11、enger客户端;第六个参数表示客户端版本号,当前为6.0.0602;第七个参数必须为MSMSGS;第八个参数为登录名(邮件地址)。服务器返回:CVR 2 6.0.0602 6.0.0602 6.0.0268 服务器也返回CVR但是它只有6个参数。第一个参数为TrID;第二个参数为推荐您使用的客户端版本号,如果为1.0.0000,表示您的客户端信息不可识别;第三个参数和第二个参数相同;第四个参数表示前一版本的版本号;第五个参数为下载推荐版本的URL地址;第六个参数为获取推荐客户端信息的URL地址。3客户端发送USR命令说明身份:USR 3 TWN I yxu68rnUSR命令有4个参数,第一个
12、参数为TrID;第二个参数为身份验证的系统代号,以前可以使用MD5,现在必须使用TWN;第三个参数必须是字母I,表示身份验证开始;第四个参数是要登录服务器的帐号名称。服务器返回XFR命令:XFR 3 NS 207.46.106.72:1863 0 207.46.104.20:1863rnXFR命令有5个参数,第一个参数为TrID;第二个参数为NS表示转移到一个notification服务器;第三个参数为notification服务器的IP地址和端口(以冒号间隔,一般是1863但不绝对);第四个参数在MSNP2以后都必须是0;第五个参数为当前连接的服务器IP和端口。4关闭连接,客户端终止到的连接
13、。说明:MSNP8 MSNP9中不再使用MD5的作身份验证的方式,MD5的方式只在MSNP7及前面的版本中实现,MSNP8、MSN9需要以新的方式执行也就是使用USR 3 TWN I yxu68rn命令。5客户端连接到上面给定的notification服务器指定端口(207.46.106.72:1863),首先按照上面的发送一些命令如下:客户端发送:VER 4 MSNP9 MSNP8 CVR0rn服务器返回:VER 4 MSNP9 MSNP8 CVR0rn客户端发送:CVR 5 0x0804 winnt 5.0 i386 MSNMSGR 6.0.0602 MSMSGS yxu68rn服务器返回
14、:CVR 5 6.0.0602 6.0.0602 6.0.0268 客户端发送:USR 6 TWN I yxu68rn在此服务器不回复XFR命令,而是回复USR命令。USR 6 TWN S lc=1033,id=507,tw=40,fs=1,ru=http%3A%2F%2Fmessenger%2Emsn%2Ecom,ct=1065400856,kpp=1,kv=5,ver=2.1.0173.1,tpf=15920bfbfabbe0badb47790dc51a54farn回应的usr命令前两个参数个发送的usr命令相同,第三个参数使用字母S代替I表示后面开始身份验证过程,其中ct tpf是变化的
15、,其他不变。6使用SSL协议连接到或其它服务器的443端口。登录名后缀为、的客户端使用:443;登录名后缀为的使用:443;其他使用:443。建议使用如下方法确定身份验证服务器:SSL连接到 443端口,发送如下命令:GET /rdr/pprdr.asp HTTP/1.0rnrn服务器将回应如下:HTTP/1.1 200 OKrnServer: Microsoft-IIS/5.0rnDate: Sun, 27 Sep 2003 11:57:47 GMTrnConnection: closernPassportURLs:DARealm=Passport.Net,DALogin=Content-L
16、ength: 0rnContent-Type: text/htmlrnCache-control: privaternrn获取回应中的PassportURLs字段中DALogin部分(斜体部分),即可得到身份验证地址,注意该连接实际上需要在前面加上https:/,表示要使用HTTP SSL协议获取相关信息。是需要连接的服务器,用SSL连接到该服务器443端口,即可进行下面的操作。7在SSL连接中发送如下HTTP请求:GET /login2.srf HTTP/1.1rnAuthorization:Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessen
17、ger%2Emsn%2Ecom,sign-in=yxu68,pwd=*,lc=1033,id=507,tw=40,fs=1,ru=http%3A%2F%2Fmessenger%2Emsn%2Ecom,ct=1065400856,kpp=1,kv=5,ver=2.1.0173.1,tpf=15920bfbfabbe0badb47790dc51a54farnUser-Agent: MSMSGSrnHost: rnConnection: Keep-AlivernCache-Control: no-cachernAuthorization后面跟内容中的“sign-in=”后面为登录的登录名称,“pwd
18、=”后面为登录名对应的密码,其后内容(斜体部分)为前面服务器返回的usr命令后面部分内容。如果成功服务器将返回如下信息:HTTP/1.1 200 OKrnServer: Microsoft-IIS/5.0rn.Authentication-Info:Passport1.4da-status=success,tname=MSPAuth,tname=MSPProf,tname=MSPSec,from-PP=t=,ru=rnContent-Length: 0rnrnrn其中最重要的是Authentication-Info字段返回的值,取得“from-pp=”后面单引号中的部分内容(上面斜体下划线部分
19、)。如果失败服务器返回如下信息(如果失败需要连接其他服务器尝试): HTTP/1.1 401 UnauthorizedrnServer: Microsoft-IIS/5.0rnDate: Sun, 27 Sep 2003 11:58:15 GMTrnPPServer: H: LAWPPIIS6B077rnConnection: closernContent-Type: text/htmlrnExpires: Mon, 20 Oct 2003 07:57:14 GMTrnCache-Control: no-cacherncachecontrol: no-storernPragma: no-cac
20、hernP3P: CP=DSP CUR OTPi IND OTRi ONL FINrnPassportConfig: ConfigVersion=11rnWWW-Authenticate: Passport1.4da-status=failed,srealm=Passport.NET,ts=-3,prompt,cburl=Content-Length: 390rnrn同时服务器有可能将客户端重定向到其他地方,这是将返回如下信息:HTTP/1.1 302 FoundrnServer: Microsoft-IIS/5.0rnDate: Sun, 27 Sep 2003 11:58:32 GMTrn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- msn 机器人 程序 设计 实现
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-1663602.html