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

Xây dựng ứng dụng Instant Message theo giao thức XMPP

107 661 4

Đ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

Định dạng
Số trang 107
Dung lượng 1,16 MB

Nội dung

TRNG I HC M 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: Trn Trung Thành MSSV: 10761278 Ngành: Tin Hc GVHD: 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 SVTH: Trn Trung Thành i LI CM N Trong sut quá trình hc ti trng i hc M Tp H Chí Minh, em đã đc các thy cô hng dn và truyn đt nhng kin thc chuyên môn cn thit. Ngoài ra, em còn đc làm vic nghiêm túc, tích cc trên tinh thn đc lp sáng to. ây là nhng kinh nghim quý báu trc khi bt tay vào làm vic trong tng lai. Quá trình thc hin khóa lun tt nghip va qua là c hi đ em có th áp dng nhng kin th c mà trong sut 4 nm qua em đã đc hc tp, cùng vi hng dn tn tình ca thy Hunh Minh Quang em đã hoàn thành đ tài ca mình. 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 trong sut thi gian thc hin khóa lun, chúc thy sc khe và đt đc nhiu thành công trong s nghip ging dy và nghiên cu khoa hc. Sinh Viên Trn Trung Thành Báo cáo khóa lun tt nghip GVHD: Thy Hunh Minh Quang SVTH: Trn Trung Thành ii NHN XÉT CA GING VIÊN HNG DN ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Báo cáo khóa lun tt nghip GVHD: Thy Hunh Minh Quang SVTH: Trn Trung Thành iii NHN XÉT CA GIÁO VIÊN PHN BIN ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Báo cáo khóa lun tt nghip GVHD: Thy Hunh Minh Quang SVTH: Trn Trung Thành iv DANH MC CÁC T 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 Báo cáo khóa lun tt nghip GVHD: Thy Hunh Minh Quang SVTH: Trn Trung Thành v MC LC CHNG 1: TNG QUAN 1 1.1. Tng quan v đ tài 2 1.2. Các vn đ đã thc hin trong đ tài 2 1.3. B cc ca khóa lun 3 CHNG 2: C S LÝ THUYT XMPP 4 2.1. Messaging and Presence Protocol (XMPP) 5 2.1.1. Gii thiu 5 2.1.2. Kin trúc 7 2.1.3. a ch (Address) 8 2.1.4. Streaming XML 9 2.1.5. Communication Promitives 10 2.2. Kt ni và 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 Báo cáo khóa lun tt nghip GVHD: Thy Hunh Minh Quang SVTH: Trn Trung Thành vi 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 trong 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 và 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 các 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 và 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 Báo cáo khóa lun tt nghip GVHD: Thy Hunh Minh Quang SVTH: Trn Trung Thành vii DANH MC HÌNH Hình 2.1: Kin trúc phân cp client – server XMPP 7 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 trong 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 đ các lp phía Server 72 Hình 3.19: Lp Parser 73 Hình 3.20: Lp JID 74 Báo cáo khóa lun tt nghip GVHD: Thy Hunh Minh Quang SVTH: Trn Trung Thành viii 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 đ các 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 chính Client 90 Hình 4.3: Ca s đng ký tài khon 90 Báo cáo khóa lun tt nghip GVHD: Thy Hunh Minh Quang SVTH: Trn Trung Thành ix 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 khi có yêu cu thêm bn 91 Hình 4.7: Ca s chat 92 [...]... jid=“user01@test .xmpp /> C: Hello! < /message> S: Hi. SVTH: Tr n Trung Thành 9 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang < /message> C: C: Ghi chú:... tr c kia có tên là Jabber XMPP d a trên n n t ng là c u trúc XML (Extensible Markup Language), nói c th h n XMPP là con ng v n chuy n các gói tin XML gi a các th c th trên m ng Không gi ng nh h u h t các giao th c Instant Messaging khác, XMPP là m t giao th c m , chính vì i u này ã làm cho XMPP rãi, b t c cá nhân nào c s d ng khá r ng u có th ti n hành tri n khai m t d ch v XMPP c a riêng mình và hoàn... hi n trong SVTH: Tr n Trung Thành tài 2 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang s d ng giao th c XMPP cùng v i Windows Socket API hi n th c m t ng d ng Instant Messaging, tài c n gi i quy t nh ng v n sau: ô Tìm hi u chi ti t giao th c XMPP ô D a trên th vi n Windows Socket API và giao th c XMPP xây d ng các l p h tr vi c k t n i gi a client và server, mô t c u trúc XML, phân tích c u trúc... Messaging thì m t lo t các giao th c hi n th c ng IM c ng ra i Có th k ra nh MSNP c a Windows Live Messenger, OSCAR c a AIM, Skype c a Skype, YMSG c a Yahoo Messenger, giao th c th c i m chung c a nh ng giao th c này u là nh ng ng m i, ch ph c v riêng cho ng d ng c a hãng s n xu t Bên c nh ó nh ng giao th c m nh Extensible Messaging and Presence Protocol (XMPP) c ng ra Instant Messaging, khi ó ng... (2009), XMPP The Definitive Guide, Trang 22 Ví d : ... test .xmpp /> º X lý l i (Error Handling) Ngoài tr stanza IQ thì các b n tin khác trong XMPP khi không nh n c b t k m t thông tin xác nh n nào, thông th có b n tin báo l i thì có ngh a là ã g i thành công XMPP cung c p thành ph n presence xác cg i is ng, khi không t o ra m t b n tin l i c thêm vào stanza message hay nh chính xác l i x y ra XMPP. .. server 2.1.5 Communication Promitives V c b n các stanza trong XMPP là m t nh m t gói tin hay b n tin n v truy n thông tin, t các giao th c khác, m i stanza ngh a và tác d ng riêng, s ng t u có m t ý c trình bày sau ây º Stanza Message Stanza message có ch c n ng truy n thông tin t th c th này khác trên m ng Thông th nh n ng, các stanza message khi n th c th c g i i s không c thông tin xác nh n là ã... Ngoài các thu c tính type trong m t stanza message còn các thu c tính nh to, from dùng xác nh a ch ng i g i và nh n và có giá tr là m t JabberID, hay body, subject th hi n n i dung b n tin, hay tiêu SVTH: Tr n Trung Thành b n tin 10 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang Ví d : Hi. < /message> º Stanza Presence Nh n bi t s... Là giá tr full qualified domain name (FQDN) c a server n i cài tm t d ch v XMPP, ví d test .xmpp º Users Khi m t tài kho n giá tr tài kho n c t o t i m t d ch v XMPP, h th ng s t c t o vào m t JabberID có d ng t email (user01@test .xmpp) , giá tr này th ng ng t nh m t ng gán a ch c g i là “bare JID” (user@domain.tld) º Resources XMPP có kh n ng cung c p cho m t tài kho n có th ng nh p nhi u l n vào h th... lý thuy t XMPP ô Ch ng 3 Phân tích và thi t k ô Ch ng 4 Hi n th c ng d ng ô Ch ng 5 K t lu n SVTH: Tr n Trung Thành ng d ng 3 Khóa lu n t t nghi p CH GVHD: Th y Hu nh Minh Quang NG 2: C SVTH: Tr n Trung Thành S LÝ THUY T XMPP 4 Khóa lu n t t nghi p GVHD: Th y Hu nh Minh Quang 2.1 Messaging and Presence Protocol (XMPP) 2.1.1 Gi i thi u Extensible Messaging and Presence Protocol (XMPP) là m t giao th c . 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: Trn Trung Thành MSSV: 10761278 Ngành: Tin Hc GVHD:. các giao thc Instant Messaging khác, XMPP là mt giao thc m, chính vì điu này đã làm cho XMPP đc s dng khá rng rãi, bt c cá nhân nào đu có th tin hành trin khai mt dch v XMPP. jid=“user01@test .xmpp /> <item jid=“user02@ test .xmpp /> <item jid=“user03@ test .xmpp /> <query/> C: < ;message from=“user04@ test .xmpp to=“user01@ test .xmpp > <body>Hello!</body>

Ngày đăng: 12/05/2015, 20:47

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w