2023年msn机器人程序设计与实现(全文完整)
下面是小编为大家整理的2023年msn机器人程序设计与实现(全文完整),供大家参考。
msn 机器人程序的设计与实现 中文题目:
MSN 机器人程序的设计与实现 外文题目:
The Design and Implementation of MSN Robot Program 摘 摘 要 本文全面分析了 MSN 的通信协议与工作流程,并根据分析 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 added the robot’s 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 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. Keywords: Chat Robot; MSN; Chat Software 目 录 第一章 绪论 ............................................................................................... 1 1.1 研究背景 .................................................. 1 1.2 MSN 机器人的进展现状 .............................. 1 1.3 本文工作 .......................................... 2 第二章 MSN 协议分析 ............................................................................. 3 2.1 MSN 登录过程 ..................................... 3 2.2 即时消息发送接收过程 ............................. 9 2.3 MSN 连接保持方法 ................................ 12 第三章 MSN 机器人系统设计 ...............................................................14 3.1 系统结构 ......................................... 14 3.2 系统方案选取 ..................................... 15 3.3 系统难点及相应解决方案 ........................... 15 3.4 软件结构 ......................................... 15 第四章 MSN 机器人系统实现 ...............................................................18 4.1 系统实现部分 ..................................... 18 4.2 系统测试 ......................................... 23 第五章 总结与展望 ................................................................................26 5.1 全文总结 ......................................... 26 5.2 工作展望 ......................................... 26 参考文献 ...................................................................................................27 致 谢 ...................................................................................................... 28 第一章 绪论 1.1 研究背景 自从上世纪中叶第一台计算机诞生以来,计算机越来越走进人们的生活当中,特别是随着计算机网络的进展,把全世界的人们紧密的联系在一起,大大的扩展了计算机的功能,人们越来越离不开计算机了。如今,作为网络应用之一的聊天工具,越来越受到人们的欢迎与重视。现在已有的聊天软件不胜枚举,流行的要紧有 MSN Messenger、QQ 等。
MSN Messenger 来自于软件巨头微软,事实上力当然不容小觑。目前最新版本为 MSN9,能够实现文本、手写、语音、视频等多种沟通方式,能够预见在不久的将来,聊天软件将成为人们通过因特网相互联系与娱乐的要紧平台。
由于 MSN Messenger 协议是公开的,因此第三方软件开发者能通过协议写出自己的程序与网络交互,因此 MSN 机器人应运而生。MSN 机器人是以 MSN联系人的形式出现的,只要你添加有关机器人的 MSN 帐号,就能够像与真人聊天一样与机器人聊天,并可查询地图、股票、天气预报、电视节目等信息。
1.2 MSN 机器人的进展现状 MSN 机器人是一项能够带给用户良好信息体验的技术产品――基于人工智能技术的开发、研究与应用,为成千上万用户提供新颖有用的网络服务。MSN机器人技术日渐成熟,其中著名的如赢思软件公司开发的小 I 机器人。
2004 年赢思先后在全球知名的即时通讯(IM)平台 MSN、“腾讯 QQ”及Yahoo Messenger 上推出了小 I 智能机器人;小 I 以其强大的聊天功能与各类资讯信息的提供一时间成为各大 IM 平台的新宠,用户量突破 800 万,在人工智能机器人及信息服务领域获得了前所未有的突破。
2006 年 2 月,凭借在机器人领域多年的积存与强大的技术实力,赢思软件成为微软全球战略合作伙伴及微软官方机器人平台,携手微软打造最强大的机器 人应用平台。目前公司已推出小 I 聊天、MSN 群、小 I 地图、小 I 天气、小 I 收视指南、小 I 问答等多项应用,提供了多种个性化功能与服务,性能稳固,应用广泛。
1.3 本文工作 本文将重点分析 MSN Messenger 协议里的登陆过程与消息发送部分,并用其设计并制作一款 MSN 客户端,然后在此基础上完成对 MSN 机器人系统的设计与实现,以达到研究聊天机器人运作原理的目的。具体的章节安排如下:
第一章 研究背景及当前技术的进展状况 第二章 MSN 协议分析 第三章 MSN 机器人系统设计 第四章 MSN 机器人系统实现 第五章 总结与展望 第二章 MSN 协议分析 2.1 MSN 登录过程 服务器返回:
VER命令是用来与服务器协商MSN客户端所使用的版本信息,其中1代表TrID是命令序号,后面是所支持协议的版本,务必以CVR0结尾。
2.客户端发送CVR命令到服务器声明客户端环境:
CVR 命令有一个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 Messenger客户端;第六个参数表示客户端版本号,当前为6.0.0602;第七个参数务必为MSMSGS;第八个参数为登录名(邮件地址)。
服务器返回:
服务器也返回CVR但是它只有6个参数。第一个参数为TrID;第二个参数为推荐您使用的客户端版本号,假如为1.0.0000,表示您的客户端信息不可识别;第三个参数与第二个参数相同;第四个参数表示前一版本的版本号;第五个参数为下载推荐版本的URL地址;第六个参数为获取推荐客户端信息的URL地址。
3.客户端发送 USR 命令说明身份:
USR 命令有 4 个参数,第一个参数为 TrID;第二个参数为身份验证的系统代号,往常能够使用 MD5,现在务必使用 TWN;第三个参数务必是字母 I,表VER 1 MSNP9 MSNP8 CVR0\r\n VER 1 MSNP9 MSNP8 CVR0\r\n 示身份验证开始;第四个参数是要登录服务器的帐号名称。
服务器返回 XFR 命令:
XFR 命令有 5 个参数,第一个参数为 TrID;第二个参数为 NS 表示转移到一个 notification 服务器;第三个参数为 notification 服务器的 IP 地址与端口(以冒号间隔,通常是 1863 但不绝对);第四个参数在 MSNP2 以后都务必是 0;第五个参数为当前连接的服务器 IP 与端口。
5 . 客 户 端 连 接 到 上 面 给 定 的 notification 服 务 器 指 定 端 口(207.46.106.72:1863),首先按照上面的发送一些命令如下:
客户端发送:
服务器返回:
客户端发送:
服务器返回:
客户端发送:
在此服务器不回复 XFR 命令,而是回复 USR 命令。
回应的 usr 命令前两个参数个发送的 usr 命令相同,第三个参数使用字母 S代替 I 表示后面开始身份验证过程,其中 ct tpf 是变化的,其他不变。
服务器将回应如下:
XFR 3 NS 207.46.106.72:1863 0 207.46.104.20:1863\r\n VER 4 MSNP9 MSNP8 CVR0\r\n VER 4 MSNP9 MSNP8 CVR0\r\n \r\n Authorization 后面跟内容中的“sign-in=”后面为登录的登录名称,“pwd=”后面为登录名对应的密码,其后内容(斜体部分)为前面服务器返回的 usr 命令后面部分内容。
假如成功服务器将返回如下信息:
其中最重要的是 Authentication-Info 字段返回的值,取得“from-pp=”后面单引号中的部分内容(上面斜体下划线部分)。
Server: Microsoft-IIS/5.0\r\n Date: Sun, 27 Sep 2003 11:57:47 GMT\r\n Connection: close\r\n Content-Length: 0\r\n Content-Type: text/html\r\n Cache-control: private\r\n \r\n User-Agent: MSMSGS\r\n Connection: Keep-Alive\r\n Cache-Control: no-cache\r\n Server: Microsoft-IIS/5.0\r\n ….. Content-Length: 0\r\n \r\n \r\n 假如失败服务器返回如下信息(假如失败需要连接其他服务器尝试):
同时服务器有可能将客户端重定向到其他地方,这是将返回如下信息:
Server: Microsoft-IIS/5.0\r\n Date: Sun, 27 Sep 2003 11:58:15 GMT\r\n PPServer: H: LAWPPIIS6B077\r\n Connection: close\r\n Content-Type: text/html\r\n Expires: Mon, 20 Oct 2003 07:57:14 GMT\r\n Cache-Control: no-cache\r\n cachecontrol: no-store\r\n Pragma: no-cache\r\n P3P: CP="DSP CUR OTPi IND OTRi ONL FIN"\r\n PassportConfig: ConfigVersion=11\r\n Content-Length: 390\r\n \r\n 8.关闭 SSL 连接,回到 notification 服务器连接上,向服务器再次发送 usr命令:
命令含义与前面一样,注意的是第三个参数为 S,第四个参数就是上面 SSL连接中获取的 Authentication-Info 字段中 from-pp 部分。
假如密码正确 notification 服务器将返回 usr 命令,ok 作为第二个参数。
其中第三个参数是用户登录名;第四个参数是用户的昵称(UTF-8 值);第五个代表身份验证是否通过,1 表示 true;第六个假如是 MSNP7 以上为 0,其他Server: Microsoft-IIS/5.0\r\n Date: Sun, 27 Sep 2003 11:58:32 GMT\r\n PPServer: H: LAWPPLOG5C006\r\n Connection: close\r\n Content-Type: text/html\r\n Expires: Sun, 27 Sep 2003 11:57:32 GMT\r\n Cache-Control: no-cache\r\n cachecontrol: no-store\r\n Pragma: no-cache\r\n P3P: CP="DSP CUR OTPi IND OTRi ONL FIN"\r\n Authentication-Info: Passport1.4 da-status=redir\r\n \r\n USR 7 TWN St=5OyHvVtsqDmntb4B4z*UOKIkjWzyERUzYHRnO7bmd*!4LS4w!JLRB95JjopamqbRz1APVAq*hqeYScQIt*Se2lyA$$&p=5ArrhL7LNEzouoqpC9kIoeqvBm4wzKnISD3QzZOxOIcz6iJ5w33IQJZ3tQjq9*4z*l6MQ6y6xYtth7QdEQb*Z1kRHUH6Pm6sJsUXfbfNbrhdu5oOJzdIjNXGVSC5FfheoGrHtrxMp1ZgMgeDcLY0yx6iYoO!0EfXlpQ24avzKIQDA7ME7pLMFTKtVp5NJHdBI75Szr3P4d37Y$ 为 1。其他将返回一些错误。
9.同步本地联系人列表 客户端向服务器发送本地储存的联系人列表版本号:
第二个参数就是当前的联系人列表的版本号,0 表示本地没有任何联系人的信息。
服务器回应客户端服务器上联系人列表的版本号:
第二个参数是服务器上当前联系人列表的版本号,假如客户端的版本号与服务器上的版本号相同,则没有后面的两个参数;第三个参数为期望的 LST 命令个数;第四个参数为期望的 LSG 命令个数。
10.取得在线人员名单,发送上线通知。
客户端向服务器发送如下命令取得在线人员名单:
CHG 命令第二个参数为 NLN 时是取得在线人员名单,并通知他们客户上线了;第三个参数为一个数值串,目前不明白其作用,但是版本不一致,其值不一致。简体中文 MSN Messager 6.0.0602+Win2000 下是 268435492,英文版是268435508,繁体中文 268435500。用途更换用户在线状态,具体请参考更换用户状态。
以上完成所有登录过程。
SYN 8 0\r\n SYN 8 1056 68 5\r\n CHG 9 NLN 268435492 \r\n 2.2 即时消息发送接收过程 XFR 作用是向Notification 服务器获取 Switchboard服务器 IP 地址与端口号。第一个参数是 TrID,第二个参数是 Switchboard 的缩写 SB。注意与登录过程中的 XFR 命令中的区别,登录过程是 NS,代表是 Notification 服务器。
Notification 服务器(207.46.106.22)回复 XFR 命令如下:
服务器回复的 XFR 命令第一个参数是 TrID;第二个参数是 SB;第三个参数是 Switchboard 服务器的 IP 地址与端口号(用冒号间隔),通常端口号都是 1863,但是不绝对;第四个参数是认证的方式,目前使用 CKI;第五个参数客户端将要发送的 Switchboard 服务器的认证字符串,需要保留。假如没有初始化客户端的状态或者者状态为 HDN,这个服务器将不返回 XFR 命令,而是返回 913 错误 913 12\r\n。
2.客户端保持到 Notification 服务器的连接,同时连接到上面提供的Switchboard 服务器(207.46.108.79)指...
热门文章:
- 新思想奋进新时代学习心得感受优选4篇2025-01-12
- 六稳六保学习心得体会7篇2025-01-12
- 幼儿园2023年度国庆节主题活动方案3篇2025-01-12
- 保持师德演讲稿甄选3篇2025-01-12
- 防网络诈骗学习心得体会通用范文选集5篇2025-01-12
- 在2023年全市模范机关建设工作推进会上的发言5篇2025-01-12
- 欢庆国庆节幼儿园的活动方案6篇2025-01-12
- 万名党员进党校培训班职工心得感想3篇2025-01-12
- 新任职领导表态发言稿9篇2025-01-12
- 长征精神学习心得体会13篇2025-01-12
相关文章: