1. Trang chủ
  2. » Luận Văn - Báo Cáo

0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP

107 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Instant Message Theo Giao Thức XMPP
Tác giả Trần Trung Thành
Người hướng dẫn Thầy Huỳnh Minh Quang
Trường học Khoa Công Nghệ Thông Tin
Chuyên ngành Tin Học
Thể loại báo cáo khóa luận tốt nghiệp
Năm xuất bản 2011
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 107
Dung lượng 1,16 MB

Nội dung

TR NG IH CM TP H CHÍ MINH KHOA CƠNG NGH THƠNG TIN KHĨA LU N T T NGHI P NGÀNH TIN H C XÂY D NG NG D NG INSTANT MESSAGE THEO GIAO TH C XMPP SVTH: MSSV: Ngành: GVHD: Tr n Trung Thành 10761278 Tin H c Th y Hu nh Minh Quang Thành ph H Chí Minh – N m 2011 Báo cáo khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang L IC M Trong su t trình h c t i tr th y cô h t i h c M Tp H Chí Minh, em đ c ng d n truy n đ t nh ng ki n th c chuyên môn c n thi t Ngồi ra, em cịn đ t o ng N c làm vi c nghiêm túc, tích c c tinh th n đ c l p sáng ây nh ng kinh nghi m quý báu tr c b t tay vào làm vi c ng lai Q trình th c hi n khóa lu n t t nghi p v a qua c h i đ em có th áp d ng nh ng ki n th c mà su t n m qua em đ h c h c t p, v i ng d n t n tình c a th y Hu nh Minh Quang em hoàn thành đ tài c a Em xin chân thành c m n th y Hu nh Minh Quang t n tình giúp đ , h ng d n em su t th i gian th c hi n khóa lu n, chúc th y s c kh e đ tđ c nhi u thành công s nghi p gi ng d y nghiên c u khoa h c Sinh Viên Tr n Trung Thành SVTH: Tr n Trung Thành i Báo cáo khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang NH N XÉT C A GI NG VIÊN H NG D N ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… SVTH: Tr n Trung Thành ii Báo cáo khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang NH N XÉT C A GIÁO VIÊN PH N BI N ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… SVTH: Tr n Trung Thành iii Báo cáo khóa lu n t t nghi p DANH M C CÁC T GVHD: Th y Hu nh Minh Quang VI T T T T vi t t t T nguyên g c IM Instant Messaging XMPP Extensible Messaging and Presence Protocol XML Extensible Markup Language JID JabberID JQDN Full Qualified Domain Name TLD Top Level Domain SASL Simple Authentication and Security Layer TLS Transport Layer Security HTML Hypertext Markup Language XHTML-IM Extensible Hypertext Markup Language Instant Messaging XEP XMPP Extension Protocol MUC Multi-User Chat RTP Real-Time Transport Protocol UDP User Datagram Protocol SVTH: Tr n Trung Thành iv Báo cáo khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang M CL C CH NG 1: T NG QUAN 1.1 T ng quan v đ tài .2 1.2 Các v n đ th c hi n đ tài 1.3 B c c c a khóa lu n CH NG 2: C S LÝ THUY T XMPP 2.1 Messaging and Presence Protocol (XMPP) 2.1.1 Gi i thi u 2.1.2 Ki n trúc .7 2.1.3 a ch (Address) 2.1.4 Streaming XML 2.1.5 Communication Promitives 10 2.2 K t n i b o m t 14 2.2.1 T o k t n i gi a client – server 14 2.2.2 Các ph ng th c ch ng th c .17 2.2.3 Mã hóa k t n i 18 2.3 S hi n di n (Presence) .19 2.3.1 ng ký s hi n di n 19 2.3.2 Thông báo s hi n di n 21 2.3.3 Thông tin tr ng thái 22 2.3.4 u tiên 23 2.3.5 Thông báo s hi n di n tr c ti p 23 2.3.6 Offline 24 2.3.7 Qu n lí danh sách (roster) 24 2.4 Instant Messaging 25 2.4.1 Tr ng thái trò chuy n (Chat States) 26 2.4.2 VCard 27 2.4.3 nh d ng tin nh n .28 2.5 Khám phá d ch v (Service Discovery) 28 2.6 Data Forms 30 SVTH: Tr n Trung Thành v Báo cáo khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang 2.7 Chat nhóm (Multi-User Chat) 32 2.7.1 C b n v Multi-User Chat 32 2.7.2 Phân quy n phòng 35 2.7.3 Nick name 40 2.7.4 T o phòng chat 42 2.7.5 M i b n vào phòng chat .43 2.8 Jingle File Transfer .44 2.8.2 T o phiên đ th c hi n m t cu c g i 46 2.8.3 T o phiên g i file .50 2.8.4 In-Band Bytestreams 55 CH NG 3: PHÂN TÍCH VÀ THI T K NG D NG 57 3.1 Gi i thi u 58 3.2 S đ Use Case 58 3.3 Thi t k l p 71 3.3.1 C s d li u 71 3.3.2 Các l p phía Server 72 3.3.3 Các l p phía Client 82 CH NG 4: HI N TH C NG D NG 88 4.1 Các ch c n ng hi n th c đ c .89 4.2 M t s giao di n ng d ng 89 4.3 Cài đ t s d ng .92 4.3.1 Yêu c u h th ng 92 4.3.2 Cài đ t 92 4.3.3 S d ng 93 CH NG 5: K T LU N 95 5.1 M t s k t qu đ t đ c 96 5.2 H n ch 96 5.3 H ng phát tri n .96 TÀI LI U THAM KH O 97 SVTH: Tr n Trung Thành vi Báo cáo khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang DANH M C HÌNH Hình 2.1: Ki n trúc phân c p client – server XMPP Hình 2.2: C u trúc t ng tác c a stanza IQ 12 Hình 2.3: Quá trình b t tay đ ng ký s hi n di n 20 Hình 2.4: Các tr ng thái trò chuy n XMPP 26 Hình 2.5: Quy trình t ng tác d li u Data Form 31 Hình 2.6: Quá ho t đ ng c a m t phiên Jingle 45 Hình 3.1: Mơ hình t ng quát ng d ng 58 Hình 3.2: Mơ hình thao tác sau đ ng nh p 59 Hình 3.3: L u đ k t n i 59 Hình 3.4: L u đ đ ng ký 60 Hình 3.5: L u đ ng t k t n i 61 Hình 3.6: L u đ đ ng nh p 62 Hình 3.7: L u đ đ ng xu t 63 Hình 3.8: L u đ thêm b n 64 Hình 3.9: L u đ xóa b n 65 Hình 3.10: L u đ g i tin nh n 66 Hình 3.11: L u đ t o phòng chat 67 Hình 3.12: L u đ m i b n vào phòng chat 68 Hình 3.13: L u đ g i tin nh n lên phòng chat 69 Hình 3.14: L u đ g i file 70 Hình 3.15: B ng Account 71 Hình 3.16: B ng ContactList 71 Hình 3.17: Mơ hình c s d li u 72 Hình 3.18: S đ l p phía Server 72 Hình 3.19: L p Parser 73 Hình 3.20: L p JID 74 SVTH: Tr n Trung Thành vii Báo cáo khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Hình 3.21: L p CADO 74 Hình 3.22: L p Tag 75 Hình 3.23: L p ClientGroup 76 Hình 3.24: L p Roster 76 Hình 3.25: L p CServerApp 76 Hình 3.26: L p Base64 77 Hình 3.27: L p Util 77 Hình 3.28: L p ConnectionClient 77 Hình 3.29: L p ConnectionServer 78 Hình 3.30: L p ConnectionBase 78 Hình 3.31: Giao di n TagHandler 79 Hình 3.32: Giao di n ConnectionDataHandler 79 Hình 3.33: L p ClientHandler 80 Hình 3.34: Giao di n ConnectionHandler 80 Hình 3.35: Giao di n ServerHandler 81 Hình 3.36: L p CServerDlg 82 Hình 3.37: S đ l p phía Client 83 Hình 3.38: Giao di n NotifyHandler 83 Hình 3.39: L p ClientProcess 84 Hình 3.40: L p CChatDlg 85 Hình 3.41: L p CLoginDlg 85 Hình 3.42: L p CRegisterDlg 86 Hình 3.43: L p CClientApp 86 Hình 3.44: L p CAddContactDlg 86 Hình 4.1: Giao di n Server 89 Hình 4.2: Giao di n Client 90 Hình 4.3: C a s đ ng ký tài kho n 90 SVTH: Tr n Trung Thành viii Báo cáo khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Hình 4.4: C a s đ ng nh p 91 Hình 4.5: C a s thêm b n 91 Hình 4.6: C a s có yêu c u thêm b n 91 Hình 4.7: C a s chat 92 SVTH: Tr n Trung Thành ix Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Hình 3.37: S đ l p phía Client M t s l p đ c đ phía s khơng không th hi n l i NotifyHandler Giao di n cung c p ph ng th c x lý giao di n cho Client Hình 3.38: Giao di n NotifyHandler ClientProcess L p x lý c a Client, nhi m v qu n lý d li u, x lý d li u c p nh t lên giao di n c a ng d ng SVTH: Tr n Trung Thành 83 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Hình 3.39: L p ClientProcess CChatDlg L p giao di n th hi n n i dung tin nh n đ n t client khác, cho phép thao tác nh p n i dung tr l i l i SVTH: Tr n Trung Thành 84 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Hình 3.40: L p CChatDlg CLoginDlg L p giao di n, ph c v thao tác đ ng nh p Hình 3.41: L p CLoginDlg CRegisterDlg L p giao di n thao tác đ ng ký SVTH: Tr n Trung Thành 85 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Hình 3.42: L p CRegisterDlg ClientApp L p th c thi ng d ng Client Hình 3.43: L p CClientApp CAddContactDlg L p giao di n có yêu c u thêm b n vào danh sách Hình 3.44: L p CAddContactDlg CAddContactDlg2 L p giao di n nh n đ c m t đ ngh thêm b n t Client khác CClientDlg L p giao di n c a Client, x lý thao tác c a ng i s d ng, th hi n thông tin t Server SVTH: Tr n Trung Thành 86 Khóa lu n t t nghi p SVTH: Tr n Trung Thành GVHD: Th y Hu nh Minh Quang 87 Khóa lu n t t nghi p CH GVHD: Th y Hu nh Minh Quang NG 4: HI N TH C SVTH: Tr n Trung Thành NG D NG 88 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang 4.1 Các ch c n ng hi n th c đ Hi n t i ng d ng hoàn thi n đ c c m t s ch c n ng nh sau: ng nh p vào h th ng ng ký tài kho n m i ng nh p v i tài kho n t o Thêm tài kho n b n vào danh sách Cho phép nh n bi t đ c s hi n di n c a tài kho n b n bè v i tr ng thái m t chu i v n b n có th tùy ch nh Có kh n ng trị chuy n v i tài kho n danh sách H tr g i file đ n tài kho n danh sách 4.2 M t s giao di n ng d ng Giao di n Server Hình 4.1: Giao di n Server Giao di n Client SVTH: Tr n Trung Thành 89 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Hình 4.2: Giao di n Client Hình 4.3: C a s đ ng ký tài kho n SVTH: Tr n Trung Thành 90 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Hình 4.4: C a s đ ng nh p Hình 4.5: C a s thêm b n Hình 4.6: C a s có u c u thêm b n SVTH: Tr n Trung Thành 91 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Hình 4.7: C a s chat 4.3 Cài đ t s d ng 4.3.1 Yêu c u h th ng i v i Server yêu c u máy c n ph i có Microsoft SQL Server 2005 v i công c qu n lý m i có th ch y đ c ng d ng i v i Client không yêu c u ph n m m h tr file th c thi ch ng trình 4.3.2 Cài đ t Server Attack c s d li u Data.mdf lên SQL Server 2005 Copy file th c thi thông th ng Server.exe file config.ini vào m t th m c Trong tr ng h p thi u file config.ini thi t l p nh sau: [ServerInfo] SVTH: Tr n Trung Thành 92 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Domain='domain.tld' Port='1000' Trong tr ng h p khơng có m t domain th t s , ph i thêm vào cu i file hosts t i th m c C:\Windows\System32\drivers\etc nh sau: 192.168.1.20 domain.tld Trong 192.168.1.20 đ a ch máy ch y Server Client Copy file th c thi thông th ng Client.exe file config.ini vào m t th m c Trong tr ng h p thi u file config.ini thi t l p nh sau: [ServerInfo] Domain='domain.tld' Port='1000' 4.3.3 S d ng Server Ch c n ch y file th c thi c a ng d ng Client Ch y file th c thi ng d ng Client, giao di n nh hình 4.2 T menu Messenger ch n Connect, n u khơng có thơng báo l i k t n i thành công Ti p t c ch n LogIn t menu Messenger, c a s đ ng nh p nh hình 4.4 yêu c u nh p tài kho n m t kh u, n u khơng có báo l i đ ng nh p thành công Ch n nh p đúp vào tài kho n mu n nói chuy n, c a s chat nh hình 4.7 s hi n b t đ u trò chuy n Mu n thêm m t tài kho n khác vào danh sách ch n menu Contacts SVTH: Tr n Trung Thành 93 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang ch n Add a Contact, c a s nh hình 4.5 s hi n nh p tên tài kho n mu n thêm SVTH: Tr n Trung Thành 94 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang CH SVTH: Tr n Trung Thành NG 5: K T LU N 95 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang 5.1 M t s k t qu đ t đ c Trong trình th c hi n đ tài “Xây d ng ng d ng Instant Messaging theo giao th c XMPP”, k t qu thu đ Hi u rõ đ c là: c s đa d ng c a lo i ng d ng Instant Messaging, v m c đ ph bi n c n thi t c a cu c s ng cơng ngh hi n Tìm hi u đ nh ng h tr c chi ti t m t s tính n ng c b n c a giao th c XMPP c a giao th c cho vi c phát tri n ng d ng Instant Messaging Bi t thêm v th vi n l p trình m ng Windows Sockets API v i th vi n l p trình MFC Xây d ng đ c ng d ng Instant Messaging m c đ đáp ng m t s ch c n ng c b n 5.2 H n ch Bên c nh v n cịn nh ng h n ch nh t đ nh: Ch a tìm hi u đ c h t t t c tính n ng mà XMPP h tr vi c xây d ng XMPP ng d ng ch a th t s hồn thi n, khơng có kh n ng h tr ti ng vi t, s l ng ch c n ng cịn ít, có th cịn t n t i m t s l i ch a gi i quy t Giao di n ng d ng ch a th t s b t m t 5.3 H ng phát tri n N u có u ki n có thêm th i gian, ng d ng s đ h c hoàn thi n theo ng sau: H tr ti ng vi t C i thi n giao di n c a ng d ng Thêm m t s ch c n ng nh : chat nhóm, h tr bi u t ng c m xúc, cung c p kh n ng chia s hình nh, chat voice video SVTH: Tr n Trung Thành 96 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang TÀI LI U THAM KH O [1] D ng Ki u Hoa – Tôn Th t Hịa An, Phân tích thi t k HTTT theo UML [2] Jeff Prosise (1999), Programming Windows with MFC [3] Lê Ng c Th nh, L p trình Windows v i MFC, NXB Th ng Kê [4] Oreilly (2009), XMPP The Definitive Guide [5] www.msdn.microsoft.com, Microsoft ActiveX Data Objects (ADO) [6] www.msdn.microsoft.com, Windows Sockets [7] www w3schools.com/ado/, ADO Tutorial [8] http://xmpp.org/xmpp-protocols/xmpp-extensions/, XMPP Extensions [9] http://camaya.net/api/gloox-1.0, gloox API SVTH: Tr n Trung Thành 97

Ngày đăng: 20/10/2022, 03:38

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Kin trúc phân cp client – server XMPP - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 2.1 Kin trúc phân cp client – server XMPP (Trang 17)
Hình 2.2: Cu trú ct ng tác ca stanza IQ - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 2.2 Cu trú ct ng tác ca stanza IQ (Trang 22)
Hình 2.3: Quá trình bt tay đ ng ký s hi nd in - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 2.3 Quá trình bt tay đ ng ký s hi nd in (Trang 30)
Hình 2.4: Các tr ng thái trò chu yn trong XMPP - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 2.4 Các tr ng thái trò chu yn trong XMPP (Trang 36)
Hình 2.5: Quy trìn ht ng tác dl iu Data Form - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 2.5 Quy trìn ht ng tác dl iu Data Form (Trang 41)
Hình 2.6: Quá ho tđ ng cam t phiên Jingle - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 2.6 Quá ho tđ ng cam t phiên Jingle (Trang 55)
ng d ng đc thi tk theo mơ hình client-server, mi giao tip gia các client  đu thông qua server - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
ng d ng đc thi tk theo mơ hình client-server, mi giao tip gia các client đu thông qua server (Trang 68)
Hình 3.3: Lu đk t ni - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 3.3 Lu đk t ni (Trang 69)
Hình 3.2: Mơ hình thao tác sau đ ng nh p - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 3.2 Mơ hình thao tác sau đ ng nh p (Trang 69)
Hình 3.4: Lu đđ ng ký - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 3.4 Lu đđ ng ký (Trang 70)
Hình 3.5: Lu đ ng tk t ni - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 3.5 Lu đ ng tk t ni (Trang 71)
Hình 3.6: Lu đđ ng nh p - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 3.6 Lu đđ ng nh p (Trang 72)
Hình 3.7: Lu đđ ng x ut - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 3.7 Lu đđ ng x ut (Trang 73)
Hình 3.8: Lu đ thêm bn - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 3.8 Lu đ thêm bn (Trang 74)
Hình 3.9: Lu đ xóa bn - 0796XÂY DỰNG ỨNG DỤNG INSTANT MESSAGE THEO GIAO THỨC XMPP
Hình 3.9 Lu đ xóa bn (Trang 75)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w