版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本 科 生 畢 業(yè) 論 文(設(shè) 計(jì)計(jì))中文題目: MSN機(jī)機(jī)器人程序的設(shè)計(jì)與實(shí)現(xiàn) 外文題目: The Design and Implementation of MSN Robot Program 6。摘 要隨著網(wǎng)絡(luò)的興起,越來來越多的人依賴網(wǎng)網(wǎng)絡(luò),因此聊天機(jī)機(jī)器人應(yīng)運(yùn)而生。聊天機(jī)器人是以聯(lián)系人的形式出現(xiàn)的,只要你添加相關(guān)機(jī)器人的賬號(hào),就可以像與真人聊天一樣與機(jī)器人聊天,并可查詢地圖、股票、天氣預(yù)報(bào)、電視節(jié)目等信息。目前,知名的聊天機(jī)器人有:一枝獨(dú)秀的MSN機(jī)器人小i、專業(yè)的MSN股票機(jī)器人牛牛,國內(nèi)則如 HYPERLINK / 騰訊的QQ機(jī)器人小Q,但在功能上和MSN的系列機(jī)器人相比有一定差距
2、。E。本文詳細(xì)分析了MSN的的通信協(xié)議與工作流程,并根據(jù)分析MSN登登錄、消息發(fā)送與與接收流程,設(shè)計(jì)計(jì)和實(shí)現(xiàn)了簡單的的MSN客戶端程序序。該客戶端允許在一臺(tái)電腦上上同時(shí)登錄多個(gè)MSN賬賬號(hào),并能與多個(gè)MSN用戶戶進(jìn)行聊天。同時(shí)時(shí),本文還充分研究了了聊天機(jī)器人的工工作原理,并設(shè)計(jì)和實(shí)現(xiàn)了MSN聊聊天機(jī)器人系統(tǒng)。k。關(guān)鍵字:聊天機(jī)器人;MSN;聊天軟件Abstract With the rise of networks, more and more people rely on the network, so the chat robot appeared. Chat robot based on
3、 the form of friends, if you have added 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.e。This document fully studies the MSN Messenger protocol, and uses its landing principles and message s
4、end 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 r
5、obot system based on the MSN client.k。Keywords: Chat Robot; MSN; Chat Softwarea。目 錄TOC o 1-2 h z u HYPERLINK l _Toc 第一章 緒論 PAGEREF _Toc h 1x。 HYPERLINK l _Toc 1.1 研究背景 PAGEREF _Toc h 16。 HYPERLINK l _Toc 1.2 MSN機(jī)器人人的發(fā)展現(xiàn)狀 PAGEREF _Toc h 1q。 HYPERLINK l _Toc 1.3 本文工作 PAGEREF _Toc h 2b。 HYPERLINK l _To
6、c 第二章 MSN協(xié)議分分析 PAGEREF _Toc h 35。 HYPERLINK l _Toc 2.1 MSN登錄錄過程 PAGEREF _Toc h 3M。 HYPERLINK l _Toc 2.2 即時(shí)消息發(fā)發(fā)送接收過程 PAGEREF _Toc h 112。 HYPERLINK l _Toc 2.3 MSN 連連接保持方法 PAGEREF _Toc h 15c。 HYPERLINK l _Toc 第三章 MSN機(jī)器人人系統(tǒng)設(shè)計(jì) PAGEREF _Toc h 177。 HYPERLINK l _Toc 3.1 系統(tǒng)結(jié)構(gòu) PAGEREF _Toc h 17n。 HYPERLINK l
7、_Toc 3.2 系統(tǒng)方案選取取 PAGEREF _Toc h 180。 HYPERLINK l _Toc 3.3 系統(tǒng)難點(diǎn)及相相應(yīng)解決方案 PAGEREF _Toc h 18b。 HYPERLINK l _Toc 3.4 軟件結(jié)構(gòu) PAGEREF _Toc h 18B。 HYPERLINK l _Toc 第四章 MSN機(jī)器人人系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc h 21Z。 HYPERLINK l _Toc 4.1 系統(tǒng)實(shí)現(xiàn)部分分 PAGEREF _Toc h 21h。 HYPERLINK l _Toc 4.2 系統(tǒng)測(cè)試 PAGEREF _Toc h 26F。 HYPERLINK l _To
8、c 第五章 總結(jié)與展望 PAGEREF _Toc h 29e。 HYPERLINK l _Toc 5.1 全文總結(jié) PAGEREF _Toc h 292。 HYPERLINK l _Toc 5.2 工作展望 PAGEREF _Toc h 29X。 HYPERLINK l _Toc 參考文獻(xiàn) PAGEREF _Toc h 30d。 HYPERLINK l _Toc 致 謝 PAGEREF _Toc h 31e。第一章 緒論1.1 研究背景自從上世紀(jì)中葉第一臺(tái)臺(tái)計(jì)算機(jī)誕生以來來,計(jì)算機(jī)越來越越走進(jìn)人們的生活活當(dāng)中,特別是隨隨著計(jì)算機(jī)網(wǎng)絡(luò)的的發(fā)展,把全世界界的人們緊密的聯(lián)聯(lián)系在一起,大大大的擴(kuò)展了計(jì)
9、算機(jī)機(jī)的功能,人們?cè)皆絹碓诫x不開計(jì)算算機(jī)了。如今,作作為網(wǎng)絡(luò)應(yīng)用之一一的聊天工具,越越來越受到人們的的歡迎和重視?,F(xiàn)現(xiàn)在已有的聊天軟軟件不勝枚舉,流流行的主要有MSN Messenger、QQ等。w。MSN Messenger來自于軟件巨頭微軟,其實(shí)力當(dāng)然不容小覷。目前最新版本為MSN9,能夠?qū)崿F(xiàn) HYPERLINK javascript:void(0); 文本、手寫、語音、視頻等多種溝通方式,可以預(yù)見在不久的將來,聊天軟件將成為人們通過因特網(wǎng)相互聯(lián)系和娛樂的主要平臺(tái)。Q。由于MSN Messenger協(xié)議是公開的,因此第三方軟件開發(fā)者能通過協(xié)議寫出自己的程序與網(wǎng)絡(luò)交互,于是MSN機(jī)器人應(yīng)運(yùn)而
10、生。MSN機(jī)器人是以MSN聯(lián)系人的形式出現(xiàn)的,只要你添加相關(guān)機(jī)器人的MSN帳號(hào),就可以像與真人聊天一樣與機(jī)器人聊天,并可查詢地圖、股票、天氣預(yù)報(bào)、電視節(jié)目等信息。x。1.2 MSN機(jī)器人人的發(fā)展現(xiàn)狀MSN機(jī)器人是一項(xiàng)能能夠帶給用戶良好好信息體驗(yàn)的技術(shù)術(shù)產(chǎn)品基于人工智能能技術(shù)的開發(fā)、研研究和應(yīng)用,為成成千上萬用戶提供供新穎實(shí)用的網(wǎng)絡(luò)絡(luò)服務(wù)。MSN機(jī)器人技術(shù)術(shù)日漸成熟,其中中著名的如贏思軟軟件公司開發(fā)的小小I機(jī)器人。K。2004年贏思先后在在全球知名的即時(shí)時(shí)通訊(IM)平臺(tái)MSN、“騰訊QQ”及Yahoo Messenger上推出了小I智能機(jī)器人;小I以其強(qiáng)大的聊天功能和各類資訊信息的提供一時(shí)間成
11、為各大IM平臺(tái)的新寵,用戶量突破800萬,在人工智能機(jī)器人及信息服務(wù)領(lǐng)域獲得了前所未有的突破。t。2006年2月,憑借借在機(jī)器人領(lǐng)域多多年的積累以及強(qiáng)強(qiáng)大的技術(shù)實(shí)力,贏思軟件成為微微軟全球戰(zhàn)略合作作伙伴及微軟官方方機(jī)器人平臺(tái),攜攜手微軟打造最強(qiáng)強(qiáng)大的機(jī)器人應(yīng)用用平臺(tái)。目前公司司已推出小I聊天、MSN群、小I地圖、小I天氣、小I收視指南、小I問答等多項(xiàng)應(yīng)用用,提供了多種個(gè)個(gè)性化功能和服務(wù)務(wù),性能穩(wěn)定,應(yīng)應(yīng)用廣泛。3。1.3 本文工作本文將重點(diǎn)分析MSN Messenger協(xié)議里的登陸過程和消息發(fā)送部分,并用其設(shè)計(jì)并制作一款MSN客戶端,然后在此基礎(chǔ)上完成對(duì)MSN機(jī)器人系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),以達(dá)到研究
12、聊天機(jī)器人運(yùn)作原理的目的。具體的章節(jié)安排如下:k。第一章 研究背景及當(dāng)當(dāng)前技術(shù)的發(fā)展?fàn)顮顩r第二章 MSN協(xié)議分分析第三章 MSN機(jī)器人人系統(tǒng)設(shè)計(jì)第四章 MSN機(jī)器人人系統(tǒng)實(shí)現(xiàn)第五章 總結(jié)與展望第二章 MSN協(xié)議分分析2.1 MSN登錄錄過程1TCP連接到(0)上的1863端口,發(fā)發(fā)送如下指令:e。VER 1 MSNP9 MSNP8 CVR0rn服務(wù)器返回:VER 1 MSNP9 MSNP8 CVR0rnVER命令是用來和服服務(wù)器協(xié)商MSN客戶端所使使用的版本信息,其其中1代表TrID是命令序序號(hào),后面是所支支持協(xié)議的版本,必必須以CVR0結(jié)尾。r。2客戶端發(fā)送CVR命命令到服務(wù)器聲明明客戶端環(huán)
13、境:CVR 2 0 x0804 winnt 5.0 i386 MSNMSGR 6.0.0602 MSMSGS yxu68rn9。CVR 命令有一個(gè)TrID和另外8個(gè)參數(shù)。第一個(gè)個(gè)參數(shù)是客戶端語語言的Local ID,簡體中文文為0 x0804,美美國英語為0 x0409,臺(tái)臺(tái)灣為0 x0404,日本為0 x0411,韓國為0 x0412;第第二個(gè)參數(shù)為操作作系統(tǒng)類型,winnt代表NT系列,Win代表win9x系列;第三個(gè)參數(shù)為操操作系統(tǒng)版本號(hào),5.0表示W(wǎng)indows 2000,5.1 表示W(wǎng)indows XP,4.10表示W(wǎng)indows 98;第四個(gè)參數(shù)為計(jì)算機(jī)體系結(jié)構(gòu),i386 表示In
14、tel 386以上機(jī)型;第五個(gè)參數(shù)為客戶端名稱,MSNMSGR表示MSN Messenger客戶端;第六個(gè)參數(shù)表示客戶端版本號(hào),當(dāng)前為6.0.0602;第七個(gè)參數(shù)必須為MSMSGS;第八個(gè)參數(shù)為登錄名(郵件地址)。W。服務(wù)器返回:CVR 2 6.0.0602 6.0.0602 6.0.0268 /download/d/4/f/d4f560d5-6dc6-4901-b149-ad7/SetupDl.exe /cnrnG。服務(wù)器也返回CVR但但是它只有6個(gè)參數(shù)。第一個(gè)個(gè)參數(shù)為TrID;第二個(gè)個(gè)參數(shù)為推薦您使使用的客戶端版本本號(hào),如果為1.0.0000,表示您的客戶端信息不可識(shí)別;第三個(gè)參數(shù)和第二個(gè)
15、參數(shù)相同;第四個(gè)參數(shù)表示前一版本的版本號(hào);第五個(gè)參數(shù)為下載推薦版本的URL地址;第六個(gè)參數(shù)為獲取推薦客戶端信息的URL地址。G。3客戶端發(fā)送USR命命令說明身份:USR 3 TWN I yxu68rnP。USR命令有4個(gè)參數(shù)數(shù),第一個(gè)參數(shù)為為TrID;第二個(gè)個(gè)參數(shù)為身份驗(yàn)證證的系統(tǒng)代號(hào),以以前可以使用MD5,現(xiàn)在必須須使用TWN;第三個(gè)參參數(shù)必須是字母I,表示身份驗(yàn)證證開始;第四個(gè)參參數(shù)是要登錄服務(wù)務(wù)器的帳號(hào)名稱。E。服務(wù)器返回XFR命令令:XFR 3 NS 2:1863 0 0:1863rnj。XFR命令有5個(gè)參數(shù)數(shù),第一個(gè)參數(shù)為為TrID;第二個(gè)個(gè)參數(shù)為NS表示轉(zhuǎn)移到一一個(gè)notifica
16、tion服務(wù)器;第三個(gè)參數(shù)為notification服務(wù)器的IP地址和端口(以冒號(hào)間隔,一般是1863但不絕對(duì));第四個(gè)參數(shù)在MSNP2以后都必須是0;第五個(gè)參數(shù)為當(dāng)前連接的服務(wù)器IP和端口。D。4關(guān)閉連接,客戶端終止到的連接。b。說明:MSNP8 MSNP9中不再使用MD5的作身份驗(yàn)證的方式,MD5的方式只在MSNP7及前面的版本中實(shí)現(xiàn),MSNP8、MSN9需要以新的方式執(zhí)行也就是使用USR 3 TWN I yxu68rn命令。7。5客戶端連接到上面給定定的notification服務(wù)器指定端口(2:1863),首先按照上面的發(fā)送一些命令如下:3??蛻舳税l(fā)送:VER 4 MSNP9 MSNP
17、8 CVR0rn服務(wù)器返回:VER 4 MSNP9 MSNP8 CVR0rn客戶端發(fā)送:CVR 5 0 x0804 winnt 5.0 i386 MSNMSGR 6.0.0602 MSMSGS yxu68rn8。服務(wù)器返回:CVR 5 6.0.0602 6.0.0602 6.0.0268 /download/d/4/f/d4f560d5-6dc6-4901-b149-ad7/SetupDl.exe /cnrnR??蛻舳税l(fā)送:USR 6 TWN I yxu68rnb。在此服務(wù)器不回復(fù)XFR命令,而是是回復(fù)USR命令。USR 6 TWN S lc=1033,id=507,tw=40,fs=1,ru
18、=http%3A%2F%2Fmessenger%2Emsn%2Ecom,ct=,kpp=1,kv=5,ver=2.1.0173.1,tpf=15920bfbfabbe0badb47790dc51a54farnu。回應(yīng)的usr命令前兩兩個(gè)參數(shù)個(gè)發(fā)送的的usr命令相同,第第三個(gè)參數(shù)使用字字母S代替I表示后面開始身身份驗(yàn)證過程,其其中ct tpf是變變化的,其他不變變。n。6使用SSL協(xié)議連接接到或其它服務(wù)器的443端口。登錄 HYPERLINK mailto:名后綴為 名后綴為、的客戶端使用:443;登錄名后綴為的使用:443;其他使用:443。建議使用如下方法確定身份驗(yàn)證服務(wù)器:7。SSL連接到
19、 443端口,發(fā)發(fā)送如下命令:c。GET /rdr/pprdr.asp HTTP/1.0rn2。rn服務(wù)器將回應(yīng)如下:HTTP/1.1 200 OKrnServer: Microsoft-IIS/5.0rnDate: Sun, 27 Sep 2003 11:57:47 GMTrnC。Connection: closernPassportURLs:DARealm=Passport.Net,DALogin=/login2.srf,DAReg=http:/uixpwiz.srf,Properties=https:/editprof.srf,Privacy=http:/consumer/privacy
20、policy.asp,GeneralRedir=http:/redir.asp,Help=http:/memberservice.srf,ConfigVersion=11rn1。Content-Length: 0rnContent-Type: text/htmlrnCache-control: privaternrn獲取回應(yīng)中的PassportURLs字段中DALogin部分(斜體部分),即可得到身份驗(yàn)證地址,注意該連接實(shí)際上需要在前面加上https:/,表示要使用HTTP SSL協(xié)議獲取相關(guān)信息。是需要連接的服務(wù)器,用SSL連接到該服務(wù)器443端口,即可進(jìn)行下面的操作。O。7在SSL連接中發(fā)
21、送送如下HTTP請(qǐng)求:GET /login2.srf HTTP/1.1rnAuthorization:Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=yxu68,pwd=*,lc=1033,id=507,tw=40,fs=1,ru=http%3A%2F%2Fmessenger%2Emsn%2Ecom,ct=,kpp=1,kv=5,ver=2.1.0173.1,tpf=15920bfbfabbe0badb47790dc51a54farnr。User-Agent: MSMSGSrnHost: rnC
22、onnection: Keep-AlivernCache-Control: no-cachernAuthorization后面跟內(nèi)容中的“sign-in=”后面為登錄的登錄名稱,“pwd=”后面為登錄名對(duì)應(yīng)的密碼,其后內(nèi)容(斜體部分)為前面服務(wù)器返回的usr命令后面部分內(nèi)容。I。如果成功服務(wù)器將返回回如下信息:HTTP/1.1 200 OKrnServer: Microsoft-IIS/5.0rn.Authentication-Info:Passport1.4da-status=success,tname=MSPAuth,tname=MSPProf,tname=MSPSec,from-PP=t
23、=,ru=http:/rnc。Content-Length: 0rnrnrn其中最重要的是Authentication-Info字段返返回的值,取得“from-pp=”后面單引號(hào)中的的部分內(nèi)容(上面面斜體下劃線部分分)。8。如果失敗服務(wù)器返回如如下信息(如果失失敗需要連接其他他服務(wù)器嘗試): q。HTTP/1.1 401 UnauthorizedrnServer: Microsoft-IIS/5.0rnDate: Sun, 27 Sep 2003 11:58:15 GMTrnq。PPServer: H: LAWPPIIS6B077rnConnection: closernContent-Typ
24、e: text/htmlrnExpires: Mon, 20 Oct 2003 07:57:14 GMTrnX。Cache-Control: no-cacherncachecontrol: no-storernPragma: no-cachernP3P: CP=DSP CUR OTPi IND OTRi ONL FINrnt。PassportConfig: ConfigVersion=11rnR。WWW-Authenticate: Passport1.4da-status=failed,srealm=Passport.NET,ts=-3,prompt,cburl=http:/XPPasspor
25、tLogo.gif,cbtxt=Type%20your%20e-mail%20address%20and%20password%20correctly.%20If%20you%20haven%E2%80%99t%20registered%20with%20.NET%20Passport%2C%20click%20the%20Get%20a%20.NET%20Passport%20link.rnA。Content-Length: 390rnrn同時(shí)服務(wù)器有可能將客客戶端重定向到其其他地方,這是將將返回如下信息:e。HTTP/1.1 302 FoundrnServer: Microsoft-IIS
26、/5.0rnDate: Sun, 27 Sep 2003 11:58:32 GMTrnr。PPServer: H: LAWPPLOG5C006rnConnection: closernContent-Type: text/htmlrnExpires: Sun, 27 Sep 2003 11:57:32 GMTrnC。Cache-Control: no-cacherncachecontrol: no-storernPragma: no-cachernP3P: CP=DSP CUR OTPi IND OTRi ONL FINrn3。Authentication-Info: Passport1.4
27、da-status=redirrnM。Location: https:/login2.srf?lc=1033rn8。rn其中https:/login2.srf?lc=1033就是重定向的URL,這時(shí)需要按照這一步開始的方式訪問新的服務(wù)器,用login2.srf?lc=1033替代login2.srf。v。8關(guān)閉SSL連接,回回到notification服務(wù)器連接上,向服務(wù)器再次發(fā)送usr命令:F。USR 7 TWN St=5OyHvVtsqDmntb4B4z*UOKIkjWzyERUzYHRnO7bmd*!4LS4w!JLRB95JjopamqbRz1APVAq*hqeYScQIt*Se2ly
28、A$&p=5ArrhL7LNEzouoqpC9kIoeqvBm4wzKnISD3QzZOxOIcz6iJ5w33IQJZ3tQjq9*4z*l6MQ6y6xYtth7QdEQb*Z1kRHUH6Pm6sJsUXfbfNbrhdu5oOJzdIjNXGVSC5FfheoGrHtrxMp1ZgMgeDcLY0yx6iYoO!0EfXlpQ24avzKIQDA7ME7pLMFTKtVp5NJHdBI75Szr3P4d37Y$j。命令含義和前面一樣,注注意的是第三個(gè)參參數(shù)為S,第四個(gè)參數(shù)就就是上面SSL連接中獲取取的Authentication-Info字段中中from-pp部部分。Q。如果密碼正確n
29、otification服務(wù)器將返回usr命令,ok作為第二個(gè)參數(shù)。t。USR 7 OK yxu68 302240345276220346263263 1 0rnE。其中第三個(gè)參數(shù)是用戶戶登錄名;第四個(gè)個(gè)參數(shù)是用戶的昵昵稱(UTF-8值);第五個(gè)代表身份份驗(yàn)證是否通過,1表示true;第六個(gè)如果是MSNP7以上為0,其他為1。其他將返回一些錯(cuò)誤。1。9同步本地聯(lián)系人列表表客戶端向服務(wù)器發(fā)送本本地保存的聯(lián)系人人列表版本號(hào):SYN 8 0rn第二個(gè)參數(shù)就是當(dāng)前的的聯(lián)系人列表的版版本號(hào),0表示本地沒有任任何聯(lián)系人的信息息。Y。服務(wù)器回應(yīng)客戶端服務(wù)務(wù)器上聯(lián)系人列表表的版本號(hào):SYN 8 1056 68
30、5rn第二個(gè)參數(shù)是服務(wù)器上上當(dāng)前聯(lián)系人列表表的版本號(hào),如果果客戶端的版本號(hào)號(hào)和服務(wù)器上的版版本號(hào)相同,則沒沒有后面的兩個(gè)參參數(shù);第三個(gè)參數(shù)數(shù)為期望的LST命令個(gè)數(shù);第四個(gè)參數(shù)為期期望的LSG命令個(gè)數(shù)。E。10取得在線人員名名單,發(fā)送上線通通知??蛻舳讼蚍?wù)器發(fā)送如如下命令取得在線線人員名單:CHG 9 NLN rnCHG命令第二個(gè)參數(shù)數(shù)為NLN時(shí)是取得在在線人員名單,并并通知他們客戶上上線了;第三個(gè)參參數(shù)為一個(gè)數(shù)值串串,目前不明白其其作用,但是版本本不同,其值不同同。簡體中文MSN Messager 6.0.0602Win2000下是,英文版是,繁體中文。用途更改用戶在線狀態(tài),具體請(qǐng)參考更改用
31、戶狀態(tài)。t。以上完成所有登錄過程程。2.2 即時(shí)消息發(fā)送接收過程程1. 客戶端分別完成成登錄過程以后,由由會(huì)話發(fā)起方(本本例中為yxu68)向其Notification服務(wù)器發(fā)送XFR命令:j。XFR 12 SBrnXFR作用是向Notification服務(wù)器獲取Switchboard服務(wù)器IP地址和端口號(hào)。第一個(gè)參數(shù)是TrID,第二個(gè)參數(shù)是Switchboard的縮寫SB。注意和登錄過程中的XFR命令中的區(qū)別,登錄過程是NS,代表是Notification服務(wù)器。o。XFR 12 SB 9:1863 CKI .10583rnq。Notification服務(wù)器(2)回復(fù)XFR命令如下:Z。服務(wù)
32、器回復(fù)的XFR命命令第一個(gè)參數(shù)是是TrID;第二個(gè)個(gè)參數(shù)是SB;第三個(gè)參數(shù)數(shù)是Switchboard服務(wù)器的IP地址和端口號(hào)(用冒號(hào)間隔),一般端口號(hào)都是1863,但是不絕對(duì);第四個(gè)參數(shù)是認(rèn)證的方式,目前使用CKI;第五個(gè)參數(shù)客戶端將要發(fā)送的Switchboard服務(wù)器的認(rèn)證字符串,需要保留。如果沒有初始化客戶端的狀態(tài)或者狀態(tài)為HDN,這個(gè)服務(wù)器將不返回XFR命令,而是返回913錯(cuò)誤913 12rn。n。2客戶端保持到Notification服務(wù)器的連接,同時(shí)連接到上面提供的Switchboard服務(wù)器(9)指定端口上,發(fā)送如下命令:l。USR 1 yxu68 .10583rn5。USR命令第
33、一個(gè)參數(shù)數(shù)是TrID,注意這這里的TrID是Switchboard服務(wù)器上重新設(shè)置的一個(gè)TrID,又是從1開始,小于 (232 - 1)的整數(shù),故而這里需要在添加一個(gè)計(jì)數(shù)器,同時(shí)即時(shí)再次連接其他的Switchboard 服務(wù)器,這個(gè)計(jì)數(shù)器也需要保持(不從1開始計(jì)數(shù),接著上次開始計(jì)數(shù));第二個(gè)參數(shù)是客戶端的登錄用戶名;第三個(gè)參數(shù)是上面Notification服務(wù)器服務(wù)器返回XFR命令中的認(rèn)證字符串。X。Switchboard服務(wù)器(9)返回如下命令:Z。USR 1 OK yxu68 302240345276220346263263rnr。該USR命令最后一個(gè)參參數(shù)是客戶端的昵昵稱。3客戶端向Sw
34、itchboard服務(wù)器(9)發(fā)送如下命令:s。CAL 2 rnCAL命令第一個(gè)參數(shù)數(shù)為Switchboard服務(wù)器上的TrID;第二個(gè)參數(shù)為客戶端(yxu68)想交流的聯(lián)系人對(duì)象的登錄名稱。K。被邀請(qǐng)的聯(lián)系人()的Notification服務(wù)器(4)向發(fā)出如下命令:1。RNG 9:1863 CKI .21116 HYPERLINK mailto:yxu68 yxu68 302240345276220346263263rnf。RNG命令第一個(gè)參數(shù)數(shù)是本次會(huì)話的SessionID,需要保存后面的命令將多次用到該參數(shù);第二個(gè)命令是本次會(huì)話的Switchboard服務(wù)器IP 地址和端口;第三個(gè)參數(shù)是
35、身份驗(yàn)證類型,目前為CKI;第四個(gè)參數(shù)是身份驗(yàn)證的認(rèn)證字符串;第五個(gè)是參數(shù)是對(duì)話發(fā)起者的登錄名稱;第六個(gè)參數(shù)是對(duì)話發(fā)起者的昵稱。X??蛻舳诉B接Switchboard服務(wù)器(9)發(fā)送ANS命令:5。ANS 1 .21116 rn3。ANS命令第一個(gè)參數(shù)數(shù)是客戶端的Switchboard服務(wù)器TrID;第二個(gè)參數(shù)是客戶端登錄名稱;第三個(gè)參數(shù)是上面RNG命令給出的身份認(rèn)證字符串;第四個(gè)參數(shù)是會(huì)話SessionID。k。Switchboard服務(wù)器(9)向客戶端返回如下命令:U。IRO 1 1 1 yxu68 302240345276220346263263rn6。IRO命令第一個(gè)參數(shù)數(shù)為TrID和A
36、NS命令第一個(gè)個(gè)參數(shù)一樣;第二二個(gè)參數(shù)和第三個(gè)個(gè)參數(shù)分別為本次次會(huì)話中去掉自身身以外的聯(lián)系人序序號(hào)和聯(lián)系人總數(shù)數(shù)。e。Switchboard服務(wù)器(9)向客戶端yxu68返回如下命令:G。JOI ddrn4消息的發(fā)送和接收客戶端yxu68向Switchboard服務(wù)器(9)發(fā)送MSG命令發(fā)送消息:N。MSG 7 N 165rnMIME-Version: 1.0rnContent-Type: text/plain; charset=UTF-8rn2。X-MMS-IM-Format: FN=%E5%AE%8B%E4%BD%93; EF=; CO=0; CS=86; PF=0rn3。rnMSG命令第
37、一個(gè)參數(shù)數(shù)是TrID(SB 服務(wù)器的);第二個(gè)參數(shù)是指指示MSG命令的類型型,發(fā)送消息時(shí),該該參數(shù)將置為N;第三個(gè)參數(shù)為為消息的大小,這這個(gè)值從跟在其后后的rn后面開始始計(jì)算,這個(gè)rn后面都為消息息內(nèi)容。t。Switchboard服務(wù)器(9)向客戶端發(fā)送MSG 命令通知該客戶端有人發(fā)送消息給該客戶端:R。MSG yxu68 302240345276220346263263 165rnH。MIME-Version: 1.0rnContent-Type: text/plain; charset=UTF-8rno。X-MMS-IM-Format:FN=%E5%AE%8B%E4%BD%93; EF=;
38、 CO=0; CS=86; PF=0rnW。rn該MSG命令第一個(gè)參數(shù)數(shù)是發(fā)送消息的聯(lián)聯(lián)系人登錄名稱,第第二個(gè)參數(shù)是該聯(lián)聯(lián)系人的昵稱,第第三個(gè)參數(shù)值后面面的消息長度。后后面的消息內(nèi)容和和結(jié)構(gòu)和發(fā)送方發(fā)發(fā)送的內(nèi)容一樣。S。5退出會(huì)話任何一方向Switchboard服務(wù)器(9)發(fā)出OUT指令,即可退出會(huì)話:2。OUTrn這時(shí)Switchboard服務(wù)器(9)會(huì)向其他客戶端發(fā)送BYE指令:o。BYE rnBYE 命令只有一個(gè)個(gè)參數(shù),就是退出出會(huì)話的聯(lián)系人登登錄名。只有當(dāng)會(huì)話中的聯(lián)系人人都向Switchboard服務(wù)器發(fā)送OUT指令,Switchboard服務(wù)器才會(huì)終止會(huì)話。I。6用戶正在輸入消息。任
39、何一方向Switchboard服務(wù)器(9)發(fā)出MSG指令:o。MSG 30 U 86rnMIME-Version: 1.0rnContent-Type: text/x-msmsgscontrolrnu。TypingUser: rnrnrn這時(shí)Switchboard服務(wù)器(9)會(huì)向其他客戶端(yxu68)發(fā)送MSG指令:M。MSG dd 86rnMIME-Version: 1.0rnContent-Type: text/x-msmsgscontrolrnP。TypingUser: rnrnrn2.3 MSN 連連接保持方法客戶端ping Notification服務(wù)器的方式客戶端發(fā)送指令PNG
40、給Notification服務(wù)器:PNGrnNotification服務(wù)器回應(yīng)客戶端QNG命令:QNG 40rnNotification服務(wù)器ping 客戶端的方式Notification服務(wù)器也會(huì)向客戶端發(fā)送CHL指令查看客戶端是否斷線,同時(shí)驗(yàn)證客戶端是否被服務(wù)器正確識(shí)別。通常稱之為challenges,CHL指令可以在狀態(tài)初始化以后(CHG命令完成以后)直到會(huì)話結(jié)束任何時(shí)候由Notification服務(wù)器發(fā)出,不必要周期性回復(fù)該命令,但是收到服務(wù)器該命令后務(wù)必在最短時(shí)間內(nèi)回復(fù),而且必須回復(fù)每一個(gè)CHL命令,如果服務(wù)器器在它規(guī)定的時(shí)間內(nèi)沒有收到回復(fù),它將關(guān)閉會(huì)話。E。CHL 0 rnCHL指
41、令有兩個(gè)參數(shù)數(shù),第一個(gè)參數(shù)一一定是0,第二個(gè)參數(shù)是是20位的數(shù)字串,不不可預(yù)料,也不可可解釋的數(shù)字串,但但是客戶端應(yīng)該保保存它,在回復(fù)這這個(gè)命令中要用到到這個(gè)數(shù)字串。k??蛻舳嘶貜?fù)QRY指令令,說明客戶端一一切正常。QRY 1049 PROD0061VRRZH4F 32rn78dbce9c11c0b1c343b3bU。QRY指令第一個(gè)參數(shù)數(shù)是TrID,第二個(gè)個(gè)參數(shù)是本次回復(fù)復(fù)中使用的challenges字符串,第三個(gè)參數(shù)是后面的回復(fù)的有效長度,目前一定是32,因?yàn)楹竺娴幕貜?fù)是一個(gè)經(jīng)過md5算法處理hash 串。第三個(gè)參數(shù)后面緊跟著回車換行(0 x0D 0 xOA),回車換行后面緊跟著一個(gè)32
42、位的字符串,即md5值,其計(jì)算方法是:取得服務(wù)器CHL命令中的20位數(shù)值串(),將QRY 命令中的challenges字符串附加在其后構(gòu)成一個(gè)字符串(PROD0061VRRZH4F),計(jì)算其MD5值得到一個(gè)32位字符串(78dbce9c11c0b1c343b3b)。當(dāng)前使用的challenges字符串有PROD0061VRRZH4F、JXQ6JTUOGYVN0M,一般使用PROD0061VRRZH4F。一般為了防止部分?jǐn)?shù)據(jù)包丟失,該回復(fù)命令將間隔1 秒發(fā)送兩次。服務(wù)將回應(yīng)該命令成功:C。QRY 1049rn這樣完成服務(wù)器和客戶戶端的連接。第三章 MSN機(jī)器人人系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)結(jié)構(gòu)系統(tǒng)主要由
43、客戶端系統(tǒng)統(tǒng)和自動(dòng)問答系統(tǒng)兩部分組成??蛻舳讼到y(tǒng)由登陸界面面、主MSN界面面和私聊界面組成成。圖3.1給出出了客戶端的系統(tǒng)統(tǒng)結(jié)構(gòu)。系統(tǒng)啟動(dòng)后,由登陸界界面開始輸入用戶戶名和密碼,然后后進(jìn)入到主MSN界界面,主MSN界面負(fù)負(fù)責(zé)整個(gè)程序的運(yùn)運(yùn)行狀態(tài),在這個(gè)個(gè)界面上可以通過打開私聊界面面來與多個(gè)人聊天。私聊界面面界面管理著機(jī)器器人與用戶的對(duì)話話。 J。圖3.1客戶端系統(tǒng)結(jié)構(gòu)構(gòu)自動(dòng)問答系統(tǒng)由關(guān)鍵字字分析及提取、數(shù)數(shù)據(jù)庫操作和數(shù)據(jù)據(jù)庫三大部分組成成,其中關(guān)鍵字分分析及提取為系統(tǒng)統(tǒng)的核心。圖3.2給給出了自動(dòng)問答部部分的系統(tǒng)結(jié)構(gòu)。關(guān)鍵字分析及提取部分負(fù)責(zé)提取出輸入語句包含的關(guān)鍵字,數(shù)據(jù)庫操作部分利用此關(guān)鍵
44、字在數(shù)據(jù)庫里查找相應(yīng)回答,并隨機(jī)選取一條返回。d。圖3.2自動(dòng)問答系統(tǒng)結(jié)結(jié)構(gòu)3.2 系統(tǒng)方案選取本系統(tǒng)采用MFC的強(qiáng)強(qiáng)大功能支持,是一個(gè)基于對(duì)話框框的Windows32應(yīng)應(yīng)用程序,使用的的編程環(huán)境是微軟軟公司的Microsoft Visual Studio 6.0。網(wǎng)絡(luò)部部分采用CAsyncSocket編編寫。w。CAsyncSocket 類在很低的級(jí)別別上封裝了Windows Sockets API ,該類適合那些對(duì)對(duì)網(wǎng)絡(luò)通信細(xì)節(jié)很很了解,但希望利利用回調(diào)的便利通通知網(wǎng)絡(luò)事件的程程序員使用。利用用CAsyncSocket編制網(wǎng)絡(luò)程序不但比較靈活而且能夠避免直接調(diào)用Windows Socket
45、s API函數(shù)的繁瑣工作。H。3.3 系統(tǒng)難點(diǎn)及相相應(yīng)解決方案由于客戶端系統(tǒng)涉及網(wǎng)網(wǎng)絡(luò),因此單純的的程序結(jié)構(gòu)不能滿滿足。于是本系統(tǒng)采用用消息機(jī)制驅(qū)動(dòng)。當(dāng)當(dāng)?shù)讓觭ocket收收到數(shù)據(jù)時(shí),會(huì)發(fā)發(fā)送消息通知上層層處理,然后再將將上層傳入的數(shù)據(jù)據(jù)發(fā)送出去。N。由于網(wǎng)絡(luò)的不穩(wěn)定,因因此數(shù)據(jù)包在傳送送中的常常會(huì)丟失失或延時(shí)太長,造造成了MSN登陸陸的中斷。于是客戶端系統(tǒng)統(tǒng)設(shè)置了時(shí)鐘回調(diào)調(diào)函數(shù)OnTimer(UINT nIDEvent),當(dāng)發(fā)現(xiàn)登陸過過程出現(xiàn)中斷時(shí),會(huì)會(huì)重啟登陸過程,直直到登陸成功為止止。M。MSN Messenger協(xié)議內(nèi)容繁多且更新很快,因此在程序設(shè)計(jì)上必須能方便的進(jìn)行擴(kuò)展。于是客戶端系
46、統(tǒng)采用Engine函數(shù)來處理所有收到的數(shù)據(jù)并根據(jù)協(xié)議內(nèi)容控制程序的運(yùn)行。P。由于存在多人同時(shí)與機(jī)機(jī)器人對(duì)話的情況況,因此必須有多多個(gè)對(duì)話實(shí)例存在,而而多個(gè)實(shí)例的管理理是個(gè)難題。于是是本系統(tǒng)使用了容容器類vector來來管理。W。由于MSN Messenger協(xié)議里即時(shí)消息發(fā)送存在兩種方式,即主叫與被叫,因此必須對(duì)兩種方式都要考慮到。于是聊天部分采用了兩套Engine函數(shù)。e。3.4 軟件結(jié)構(gòu)CZxDlg為程序入入口點(diǎn),由它生成成CMSN,再由由CMSN產(chǎn)生CMSNChat。圖3.3給出了系統(tǒng)的軟件結(jié)構(gòu)。0。圖3.3軟件結(jié)構(gòu)CZxDlg概述:程序入口點(diǎn),也也是登陸界面。功能:獲得用戶輸入的的用戶
47、名密碼,并并以此初始化CMSN,并并啟動(dòng)CMSN界界面。d。CMSN概述:主MSN界面,系統(tǒng)的核心部分分。功能:由輸入的用戶名名密碼完成整個(gè)登登陸過程,當(dāng)用戶點(diǎn)擊某個(gè)個(gè)好友時(shí),生成CMSNChat界界面負(fù)責(zé)與其的聊聊天過程。v。內(nèi)部結(jié)構(gòu):圖3.4給給出了CMSN的的內(nèi)部結(jié)構(gòu)。圖3.4 CMSN內(nèi)部部結(jié)構(gòu)結(jié)構(gòu)概述:CMSNSocket為為CAsyncSocket的派生類,負(fù)責(zé)接收和發(fā)送數(shù)據(jù);當(dāng)接到數(shù)據(jù)時(shí),會(huì)發(fā)送消息通知上層OnReceive函數(shù),然后將得到的數(shù)據(jù)交由Engine函數(shù)處理。Engine函數(shù)通過Send調(diào)用CMSNSocket發(fā)送數(shù)據(jù)。每次發(fā)送和接收數(shù)據(jù)時(shí)都會(huì)通過WriteStatu
48、s函數(shù)輸出狀態(tài)信息。x。CMSNChat概述:聊天界面,可以以多個(gè)并存。功能:由輸入的用戶名名密碼完成整個(gè)登登陸過程,當(dāng)用戶戶點(diǎn)擊某個(gè)好友時(shí)時(shí),生成CMSNChat界界面負(fù)責(zé)與其的聊聊天過程。a。內(nèi)部結(jié)構(gòu):圖3.5給給出了CMSNChat的的內(nèi)部結(jié)構(gòu)。圖3.5 CMSNChat內(nèi)內(nèi)部結(jié)構(gòu)結(jié)構(gòu)概述:結(jié)構(gòu)上與CMSN類似,只是擁有兩個(gè)獨(dú)立的socket和Engine,因此不再贅述。m。第四章 MSN機(jī)器人人系統(tǒng)實(shí)現(xiàn)4.1 系統(tǒng)實(shí)現(xiàn)部分分4.1.1 CZxDlg類概述:登陸界面。核心代碼分析:OnOK()當(dāng)用戶點(diǎn)擊登陸按鈕時(shí)時(shí),會(huì)執(zhí)行消息響應(yīng)函函數(shù)OnOK()。圖4.1給出出了OnOK的流程圖圖。L
49、。圖4.1 OnOK流程程圖4.1.2 CMyListCtr類概述:重載CListCtr類類,用于顯示顏色色。核心代碼分析:OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)X。在重載的OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)函數(shù)里,添加了了著色代碼,這個(gè)個(gè)函數(shù)在每次list控控件重畫時(shí)都會(huì)被被調(diào)用。圖4.2給給出了OnCustomDraw的流程圖。T。圖4.2 OnCustomDraw流程圖4.1.3 CMSNSocket類概述:重載CAsyncSocket類,用于網(wǎng)絡(luò)的發(fā)送與接收。核心代碼分析:OnC
50、onnect(int nErrorCode) 在socket請(qǐng)求與與服務(wù)器建立連接接后,如果成功系系統(tǒng)將通過事件FD_CONNECT調(diào)調(diào)用虛函數(shù)OnConnect。我我們可以通過重載載OnConnect對(duì)對(duì)已經(jīng)完成的建連連請(qǐng)求進(jìn)行處理。圖4.3給出了OnConnect的流程圖。J。圖4.3 OnConnect流程圖OnReceive(int nErrorCode)當(dāng)socket接受到到數(shù)據(jù)后,系統(tǒng)將將觸發(fā)FD_READ事事件并調(diào)用OnReceive虛虛函數(shù),我們可以以通過Receive成成員函數(shù)從socket接接收緩沖區(qū)讀取數(shù)數(shù)據(jù)。Socket接受受的數(shù)據(jù)將一直保保存在緩沖區(qū)中,直直到調(diào)用Re
51、ceive成成員函數(shù)將其讀走走。圖4.4給出出了OnReceive的流程圖。c。圖4.4 OnReceive流程圖4.1.4 CMSN類概述:重載CDialog類類,用于管理客戶戶端登陸過程和發(fā)發(fā)起會(huì)話。V。核心代碼分析:Ini()系統(tǒng)第一次運(yùn)行或每次次重啟動(dòng)時(shí),都會(huì)會(huì)調(diào)用Ini()函數(shù)。圖4.5給給出了Ini的流程圖。R。圖4.5 Ini流程圖圖OnReceiveOK (WPARAM wparam,LPARAM lparam)7。如果連接成功,CMSNSocket將發(fā)送自定義消息WM_CONNECTOK,其響應(yīng)函數(shù)OnReceiveOK。圖4.6給出了OnReceiveOK的流程圖。x。圖4
52、.6 OnReceiveOK流程圖Engine(CString instr)系統(tǒng)核心函數(shù),負(fù)責(zé)分分析收到的字符串串并作出相應(yīng)回應(yīng)應(yīng)。圖4.7給出出了Engine的流流程圖。b。圖4.7 Engine流程程圖Stop()系統(tǒng)退出或每次重啟動(dòng)動(dòng)前,都會(huì)調(diào)用Stop()函數(shù)。在Stop()里,釋放了內(nèi)存資源, 并停止了socket。圖4.8給出了Stop的流程圖。c。圖4.8 Stop流程程圖OnTimer(UINT nIDEvent)時(shí)鐘回調(diào)函數(shù),當(dāng)檢測(cè)測(cè)到TrID不再變化化,即登陸過程中中斷時(shí),會(huì)重啟登登陸過程。圖4.9給給出了OnTimer的的流程圖。m。圖4.9 OnTimer流流程圖4.1
53、.5 CMSNChat類概述:重載CDialog類類,用于管理用戶戶與好友的會(huì)話過過程核心代碼分析:結(jié)構(gòu)上與CMSN類似似,只是擁有獨(dú)立立的socket和和不同的協(xié)議,因因此不再贅述。W。4.2 系統(tǒng)測(cè)試4.2.1登陸界面 HYPERLINK mailto:初始用戶名為yourname 初始用戶名為yourname,用來提示用戶輸入自己的MSN帳號(hào)和密碼。圖4.10給出了登陸界面的測(cè)試效果圖。Y。圖4.10登陸界面4.2.1主MSN界界面當(dāng)點(diǎn)擊登陸后,即開始始登陸過程。圖4.11給給出了主MSN登登陸界面在啟動(dòng)階階段的測(cè)試效果圖圖。T。當(dāng)?shù)顷懲瓿珊?,主MSN界界面上會(huì)顯示所有有的好友,雙擊即即
54、可開始聊天。圖圖4.12給出了了主MSN登陸界界面在登陸完成后后的測(cè)試效果圖。V。圖4.11主MSN界面面(啟動(dòng)階段)圖4.12主MSN界面面(完成階段)4.2.1聊天界面聊天界面為打開的聊天天界面,在編輯框框輸入后點(diǎn)擊send按按鈕即可發(fā)送給對(duì)對(duì)方。圖4.13給給出了聊天界面在在對(duì)方好友在線時(shí)時(shí)的測(cè)試效果圖。如果對(duì)方好友沒在線,聊天界面會(huì)顯示not online。圖4.14給出了聊天界面在對(duì)方好友離線時(shí)的測(cè)試效果圖。z。圖4.13聊天界面(在在線)圖4.14聊天界面(離線)第五章 總結(jié)與展望5.1 全文總結(jié)網(wǎng)絡(luò)在現(xiàn)代生活中扮演演著越來越重要的的角色,人們已經(jīng)經(jīng)習(xí)慣于在網(wǎng)上聊聊天、購物和辦公公
55、等等。特別是隨隨著我國網(wǎng)民數(shù)量量的日益增加,聊聊天工具的使用也也越來越頻繁和廣廣泛,相應(yīng)的聊天天機(jī)器人的前景也也會(huì)越來越好。W。本文詳細(xì)分析了MSN Messenger協(xié)議,并利用其登陸過程和消息發(fā)送原理設(shè)計(jì)和實(shí)現(xiàn)了一款MSN客戶端。該客戶端允許在一臺(tái)電腦上同時(shí)登錄多個(gè)帳號(hào),并能與多人展開聊天。同時(shí)本文還充分研究了聊天機(jī)器人的運(yùn)作原理,并在此MSN客戶端基礎(chǔ)上設(shè)計(jì)和實(shí)現(xiàn)了MSN聊天機(jī)器人系統(tǒng)。0。5.2 工作展望目前,聊天機(jī)器人主要要是以聯(lián)系人的形形式出現(xiàn)的,只要要你添加相關(guān)機(jī)器器人的賬號(hào),就可以像與與真人聊天一樣與與機(jī)器人聊天,并并可查詢地圖、股股票、天氣預(yù)報(bào)、電視節(jié)目等信息息。目前知名的有
56、有一枝獨(dú)秀的MSN機(jī)機(jī)器人小i、專業(yè)業(yè)的MSN股票機(jī)機(jī)器人牛牛,國內(nèi)內(nèi)則如騰迅的QQ機(jī)機(jī)器人小Q,但在在功能上和MSN的的系列機(jī)器人相比比有一定差距。F。就本文來說,未做的工工作還有很多,主主要有以下幾方面面:客戶端的視頻及音頻通通訊功能;客戶端的添加刪除好友友功能;客戶端對(duì)好友在線的狀狀態(tài)顯示;自動(dòng)問答部分的實(shí)現(xiàn)。參考文獻(xiàn)劉耀賓、賀旭東、余金金峰簡述MSN防汛汛機(jī)器人的設(shè)計(jì)與與功能 HYPERLINK /KNS50/Navi/Bridge.aspx?LinkType=BaseLink&DBCode=cjfd&TableName=cjfdbaseinfo&Field=BaseID&Value=
57、ZIHU&NaviLink=%e6%b2%bb%e6%b7%ae 治淮 HYPERLINK /KNS50/Navi/Bridge.aspx?LinkType=IssueLink&DBCode=cjfd&TableName=cjfdyearinfo&Field=BaseID*year*issue&Value=ZIHU*2009*02&NaviLink=%e6%b2%bb%e6%b7%ae 2009年02期期2009G。林立宇MSN查號(hào)機(jī)機(jī)器人的研究與應(yīng)應(yīng)用 HYPERLINK /KNS50/Navi/Bridge.aspx?LinkType=BaseLink&DBCode=cjfd&TableN
58、ame=cjfdbaseinfo&Field=BaseID&Value=GUDO&NaviLink=%e5%b9%bf%e4%b8%9c%e9%80%9a%e4%bf%a1%e6%8a%80%e6%9c%af 廣東通信技術(shù) HYPERLINK /KNS50/Navi/Bridge.aspx?LinkType=IssueLink&DBCode=cjfd&TableName=cjfdyearinfo&Field=BaseID*year*issue&Value=GUDO*2007*09&NaviLink=%e5%b9%bf%e4%b8%9c%e9%80%9a%e4%bf%a1%e6%8a%80%e6
59、%9c%af 2007年年09期2007R。李剛打造自己的MSN機(jī)機(jī)器人 HYPERLINK /KNS50/Navi/Bridge.aspx?LinkType=BaseLink&DBCode=cjfd&TableName=cjfdbaseinfo&Field=BaseID&Value=DNAP&NaviLink=%e7%94%b5%e8%84%91%e7%88%b1%e5%a5%bd%e8%80%85(%e6%99%ae%e5%8f%8a%e7%89%88) 電腦愛好者 HYPERLINK /KNS50/Navi/Bridge.aspx?LinkType=IssueLink&DBCode=cjfd&TableName=cjfdyearinfo&Field=BaseID*year*issue&Value=DNAP*2007*03&NaviLink=%e7%94%b5%e8%84%91%e7%88%b1%e5%a5%bd%e8%80%85(%e6%99%ae%e5%8f%8a%e7%89%88) 2007年年03期2007O。袁軍輝MSN機(jī)器人人 HYPERLINK /KNS50/Navi/Bridge.aspx?LinkType=BaseLink&DBCode=cjfd&TableName=cjfdbaseinfo&Field=BaseID&Value=KXSN&N
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年“學(xué)憲法講憲法”學(xué)法知識(shí)競(jìng)賽題庫附答案
- 應(yīng)急局理論考試題及答案
- IBM(中國)校招面試題及答案
- 大學(xué)計(jì)算機(jī)應(yīng)用考試題及答案
- 2026黑龍江綏化市中醫(yī)醫(yī)院招聘38人參考題庫必考題
- 中共玉環(huán)市委宣傳部關(guān)于下屬事業(yè)單位 市互聯(lián)網(wǎng)宣傳指導(dǎo)中心公開選聘1名工作人員的備考題庫附答案
- 興國縣2025年招聘城市社區(qū)專職網(wǎng)格員【23人】備考題庫必考題
- 南充市經(jīng)濟(jì)合作和外事局局屬參照管理事業(yè)單位2025年公開遴選參照管理人員(4人)考試備考題庫附答案
- 廣安市廣安區(qū)石筍鎮(zhèn)人民政府關(guān)于2025年選用片區(qū)紀(jì)檢監(jiān)督員的備考題庫必考題
- 招15人!2025年剛察縣公安局面向社會(huì)公開招聘警務(wù)輔助人員考試備考題庫附答案
- 2026年湖南郴州市百??毓杉瘓F(tuán)有限公司招聘9人筆試參考題庫及答案解析
- 屋面防水施工質(zhì)量保證措施
- 2026年認(rèn)證網(wǎng)約車考試題庫及完整答案一套
- 社區(qū)環(huán)境資源與健康行為可及性
- 2026年廣州市自來水公司招考專業(yè)技術(shù)人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 散文系列《補(bǔ)鞋子的人》精-品解讀
- 安徽省合肥一中2025-2026學(xué)年高三上學(xué)期1月考試化學(xué)(含答案)
- 2025國開本科《公共部門人力資源管理》期末歷年真題(含答案)
- 河北省唐山市2024-2025學(xué)年高一上學(xué)期期末數(shù)學(xué)試題(含答案)
- 新課標(biāo)解讀培訓(xùn)
- 2025年CFA二級(jí)市場(chǎng)有效性習(xí)題
評(píng)論
0/150
提交評(píng)論