Luận văn xây dựng hệ thống trả lời tự động thông qua yahoo messenger

50 7 0
Luận văn xây dựng hệ thống trả lời tự động thông qua yahoo messenger

Đ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

1 MỤC LỤC DANH SÁCH TỪ VIÊT TẮT LỜI CẢM ƠN MỞ ĐẦU Chƣơng 1: GIỚI THIỆU TỔNG QUAN CHƢƠNG TRÌNH 1.1 Giới thiệu Bots 1.2 Mơ tả tốn 1.2.1 Mơ hình chương trình: 1.2.1 Mô tả: 1.3 Giao thức Yahoo 1.3.1 Cấu trúc gói tin: 1.3.2 Cơ chế đăng nhập: 10 1.4 Cơ sở liệu JDBC - ODBC 13 1.5 Tìm hiểu ngôn ngữ XML 14 1.6 Môi trường làm việc 16 1.6.1 Môi trường lập trình Java 16 1.6.2 Tổng quan Netbeans 21 Chƣơng 2: NỘI DUNG CHƢƠNG TRÌNH 23 2.1 Tương tác Yahoo 23 2.1.1 Cơ chế đăng nhập 23 2.1.2 Cơ chế trả lời tự động 25 2.1.3 Cơ chế kiểm tra kết nối tự động đăng nhập lại 27 2.1.4 Quản lý danh sách nick Yahoo 28 2.2 Phân tích trả lời truy vấn 29 2.3 Tương tác sở liệu 34 2.3.1 Cơ chế hoạt động: 34 2.3.2 Kết nối sở liệu: 36 CHƢƠNG 3: CHƢƠNG TRÌNH ỨNG DỤNG 40 3.1 Yêu cầu phần cứng, phần mềm 40 3.2 Giao diện chương trình 40 Th■ah■■ng Mang Luôn 123doc thu■n l■icam s■ tr■ h■u k■t s■ nghi■m t■im■t d■ng s■website mang kho m■i th■ m■ l■i d■n CH■P vi■n nh■ng cho ■■u kh■ng ng■■i NH■N quy■n chia dùng, l■ CÁC s■l■i v■i và■I■U t■t công h■n mua nh■t 2.000.000 ngh■ bán KHO■N cho tàihi■n ng■■i li■u TH■A tài th■ hàng li■u dùng hi■n THU■N ■■u ■ t■t Khi ■■i, Vi■t c■ khách b■n l■nh Nam Chào online hàng v■c: Tác m■ng tr■ khơng tài phong thành b■n khác chun ■■n thành tíngì d■ng, v■i so nghi■p, viên 123doc v■i cơng c■a b■n hồn ngh■ 123doc g■c h■o, thơng B■n và■■ n■p có tin, cao th■ ti■n ngo■i tính phóng vào ng■, Khách trách tài to,kho■n nhi■m thu nh■ c■a ■■i hàng tùy123doc, v■i ý cót■ng th■b■n d■ ng■■i dàng s■ dùng ■■■c tra c■u M■c h■■ng tàitiêu li■u nh■ng hàng m■t■■u quy■n cáchc■a l■i123doc.net sau xác,n■p nhanh ti■n tr■ chóng thành website th■ vi■n tài li■u online l■n nh■t Vi■t Nam, cung c■p nh■ng tài li■u ■■c khơng th■ tìm th■y th■ tr■■ng ngo■i tr■ 123doc.net Nhi■u event thú v■, event ki■m ti■n thi■t th■c 123doc luôn t■o c■ h■i gia t■ng thu nh■p online cho t■t c■ thành viên c■a website KẾT LUẬN 49 Mangh■n Luôn Th■a Xu■t Sau Nhi■u 123doc h■■ng phát thu■n l■i event cam s■ nh■n m■t tr■ t■ h■u k■t s■ thú nghi■m t■i ýxác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event kho m■i ■■i, t■o t■ th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia t■ng ki■m dùng, l■ CÁC s■ th■c s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N sang b■ng cho tài ■■nh hi■n ng■■i li■u ph■n tài TH■A tài v■ th■ li■u hàng t■o li■u thơng dùng tríhi■n THU■N hi■u c■ c■a ■■u ■ tin t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia b■n nh■t, minh l■nh Nam t■ng Chào online hàng uy tài v■c: l■nh thu Tác m■ng tín kho■n tr■ nh■p không tài phong v■c cao thành b■n email nh■t tài online khác chuyên ■■n li■u thành tínb■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã t■t 123doc 123doc.net! v■i mu■n công ■■ng c■a c■ doanh b■n hoàn mang ngh■ 123doc ký g■c online thành v■i h■o, Chúng l■i thông B■n 123doc.netLink cho viên Tính ■■ n■p có tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác tài ■i■m D■ch xã to,kho■n th■c nhi■m h■i thutháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cóg■i t■ng th■ tài 123doc v■ mơ ngun b■n d■ ng■■i ■■a t■ dàng s■ v■■t d■■i tri dùng ■■■c ch■ tra th■c m■c ■ây) email c■u M■c h■■ng quý 100.000 cho tài b■n tiêu báu, li■u b■n, nh■ng ■ã hàng phong m■t l■■t tùy ■■ng ■■u quy■n cách truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau xác, vuingày, n■p lòng “■i■u nhanh giàu ti■n s■ ■■ng tr■ giá Kho■n chóng h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t TÀI LIỆU THAM KHẢO 50 Luônh■n 123doc Sau Th■a Xu■t h■■ng phát thu■n cam nh■n m■t t■k■t s■ t■i ýxác n■m t■■ng d■ng s■ nh■n website mang ■■i, t■o t■l■i c■ng ■■ng d■n 123doc CH■P nh■ng ■■u ■■ng h■ NH■N ■ã quy■n th■ng chia t■ng ki■m CÁC s■s■ l■i b■■c ti■n vàchuy■n ■I■U t■t mua online kh■ng nh■t bán KHO■N sang b■ng cho tài ■■nh ng■■i li■u ph■n tài TH■A v■ li■u hàng thơng dùng tríTHU■N hi■u c■a ■■u tin Khi qu■ Vi■t xác khách nh■t, minh Nam Chào hàng uy tài l■nh Tác m■ng tín kho■n tr■ phong v■c cao thành b■n email nh■t tàichuyên ■■n li■u thành b■n Mong v■i nghi■p, viên kinh ■ã 123doc 123doc.net! mu■n ■■ng c■a doanh hoàn mang 123doc kýonline v■i h■o, Chúng l■ivà 123doc.netLink cho Tính ■■ n■p tơi c■ng cao ■■n cung ti■n tính ■■ng th■i vào c■p trách xác tài ■i■m D■ch xãkho■n th■c nhi■m h■itháng V■ m■t s■ c■a (nh■ ■■i ■■■c ngu■n 5/2014; 123doc, v■i ■■■c g■i t■ng tài 123doc v■ mô nguyên b■n ng■■i ■■a t■s■ v■■t d■■i tri dùng ■■■c ch■ th■c m■c ■ây) email M■c h■■ng quý 100.000 cho b■n tiêu báu, b■n, nh■ng ■ã hàng phong l■■t tùy ■■ng ■■u quy■n truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau vuingày, n■p lòng “■i■u giàu ti■n s■ ■■ng tr■ giá Kho■n h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t Lnh■n Th■a Xu■t Sau Nhi■u 123doc Mang h■■ng phát thu■n l■i event cam s■ nh■n m■t tr■ t■ h■u k■t s■ thú nghi■m t■i ýxác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event kho m■i ■■i, t■o t■ th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia t■ng ki■m dùng, l■ CÁC s■ th■c s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N sang b■ng cho tài ■■nh hi■n ng■■i li■u ph■n tài TH■A tài v■ th■ li■u hàng t■o li■u thơng dùng tríhi■n THU■N hi■u c■ c■a ■■u ■ tin t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia b■n nh■t, minh l■nh Nam t■ng Chào online hàng uy tài v■c: l■nh thu Tác m■ng tín kho■n tr■ nh■p khơng tài phong v■c cao thành b■n email nh■t tài online khác chuyên ■■n li■u thành tínb■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã t■t 123doc 123doc.net! v■i mu■n công ■■ng c■a c■ doanh b■n hoàn mang ngh■ 123doc ký g■c online thành v■i h■o, Chúng l■i thông B■n 123doc.netLink cho viên Tính ■■ n■p có tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác tài ■i■m D■ch xã to,kho■n th■c nhi■m h■i thutháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cóg■i t■ng th■ tài 123doc v■ mô nguyên b■n d■ ng■■i ■■a t■ dàng s■ v■■t d■■i tri dùng ■■■c ch■ tra th■c m■c ■ây) email c■u M■c h■■ng quý 100.000 cho tài b■n tiêu báu, li■u b■n, nh■ng ■ã hàng phong m■t l■■t tùy ■■ng ■■u quy■n cách truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau xác, vuingày, n■p lòng “■i■u nhanh giàu ti■n s■ ■■ng tr■ giá Kho■n chóng h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t u■t phát Nhi■u Mang Luôn 123doc Th■a Xu■t Sau h■n h■■ng phát thu■n l■i event s■ cam nh■n t■ m■t tr■ t■ h■u ýk■t s■ thú nghi■m t■i ýt■■ng xác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event t■o kho m■i ■■i, t■o t■ c■ng th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■ng ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia ki■m t■ng ki■m dùng, l■ CÁC s■ th■c ti■n s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công online h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N b■ng sang b■ng cho tài ■■nh hi■n tài ng■■i li■u ph■n tài TH■A li■u tài v■ th■ li■u hàng t■o li■u thơng dùng trí hi■u hi■n THU■N hi■u c■ c■a ■■u ■ tin qu■ t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia nh■t, b■n nh■t, minh l■nh Nam t■ng Chào online uy hàng uy tài v■c: l■nh thu Tác tín m■ng tín kho■n tr■ cao nh■p không tài phong v■c cao thành b■n nh■t email nh■t tài online khác chuyên ■■n li■u thành tín Mong b■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã mu■n t■t 123doc 123doc.net! v■i mu■n công ■■ng c■a c■ doanh b■n mang hoàn mang ngh■ 123doc ký g■c online thành v■i l■i h■o, Chúng l■i thông B■n cho 123doc.netLink cho viên Tính ■■ n■p có c■ng tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i ■■ng tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác xã tài ■i■m D■ch xã to,h■i kho■n th■c nhi■m h■i thum■t tháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ngu■n ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cótài g■i t■ng th■ tài 123doc nguyên v■ mô nguyên b■n d■ ng■■i ■■a t■ dàng s■ v■■t tri d■■i tri dùng ■■■c ch■ th■c tra th■c m■c ■ây) email c■u quý M■c h■■ng quý 100.000 cho tài báu, b■n tiêu báu, li■u b■n, nh■ng phong ■ã hàng phong m■t l■■t tùy ■■ng ■■u phú, quy■n cách truy thu■c phú, ky, c■a c■p ■a ■a l■i b■n vào d■ng, 123doc.net m■i d■ng, sau xác, vuingày, n■p giàu lòng “■i■u nhanh giàu ti■n giá s■ ■■ng tr■ giá Kho■n chóng h■u tr■ thành tr■ nh■p ■■ng 2.000.000 website ■■ng Th■a th■ email th■i vi■n th■i Thu■n mong c■a thành mong tài v■ li■u mu■n viên mu■n S■ online ■■ng D■ng t■o click t■o l■n ■i■u ký, D■ch ■i■u vào nh■t l■t link ki■n ki■n V■” vào Vi■t 123doc cho top sau cho Nam, cho 200 ■ây cho ■ã cung các (sau g■i users website c■p users ■âynh■ng có ■■■c cóph■ thêm thêm tài bi■n g■i thu thu li■u t■t nh■p nh■t nh■p ■■c T■it■i Chính khơng t■ng Chính Vi■tth■i vìth■ Nam, vìv■y v■y ■i■m, tìm 123doc.net t■123doc.net th■y l■chúng tìm ki■m tơi th■ racó ■■i thu■c ■■i tr■■ng th■ nh■m nh■m c■p top ngo■i ■áp 3nh■t ■áp Google ■ng tr■ ■KTTSDDV ■ng 123doc.net nhu Nh■n nhuc■u c■u ■■■c chia theo chias■ quy■t danh s■tàitài hi■u li■u li■uch■t ch■t c■ng l■■ng l■■ng ■■ng vàvàki■m bình ki■mch■n ti■n ti■nonline online website ki■m ti■n online hi■u qu■ uy tín nh■t Nhi■u Mang Ln 123doc Th■a Xu■t Sau h■n h■■ng phát thu■n l■i event s■ cam nh■n m■t tr■ t■ h■u k■t s■ thú nghi■m t■i ýxác n■m t■■ng m■t d■ng v■, s■ nh■n website mang event kho m■i ■■i, t■o t■ th■ m■ l■i c■ng ki■m ■■ng d■n 123doc CH■P vi■n nh■ng cho ■■u ■■ng ti■n h■ kh■ng ng■■i NH■N ■ã quy■n th■ng thi■t chia t■ng ki■m dùng, l■ CÁC s■ th■c s■ l■i b■■c v■i ti■n vàchuy■n ■I■U t■t công h■n mua 123doc online kh■ng nh■t 2.000.000 ngh■ bán KHO■N sang b■ng cho tài ■■nh hi■n ng■■i li■u ph■n tài TH■A tài v■ th■ li■u hàng t■o li■u thông dùng tríhi■n THU■N hi■u c■ c■a ■■u ■ tin t■t h■i Khi ■■i, qu■ Vi■t xác c■ khách gia b■n nh■t, minh l■nh Nam t■ng Chào online hàng uy tài v■c: l■nh thu Tác m■ng tín kho■n tr■ nh■p khơng tài phong v■c cao thành b■n email nh■t tài online khác chuyên ■■n li■u thành tínb■n Mong cho d■ng, v■i so nghi■p, viên kinh ■ã t■t 123doc 123doc.net! v■i mu■n công ■■ng c■a c■ doanh b■n hoàn mang ngh■ 123doc ký g■c online thành v■i h■o, Chúng l■i thông B■n 123doc.netLink cho viên Tính ■■ n■p có tơi tin, c■ng c■a cao th■ ■■n cung ti■n ngo■i tính website phóng ■■ng th■i vào c■p ng■, Khách trách xác tài ■i■m D■ch xã to,kho■n th■c nhi■m h■i thutháng V■ nh■ m■t s■ c■a (nh■ ■■i hàng ■■■c tùy ngu■n 5/2014; 123doc, v■i ■■■c ý cóg■i t■ng th■ tài 123doc v■ mơ ngun b■n d■ ng■■i ■■a t■ dàng s■ v■■t d■■i tri dùng ■■■c ch■ tra th■c m■c ■ây) email c■u M■c h■■ng quý 100.000 cho tài b■n tiêu báu, li■u b■n, nh■ng ■ã hàng phong m■t l■■t tùy ■■ng ■■u quy■n cách truy thu■c phú, ky, c■a c■p ■a l■i b■n vào 123doc.net m■i d■ng, sau xác, vuingày, n■p lòng “■i■u nhanh giàu ti■n s■ ■■ng tr■ giá Kho■n chóng h■u thành tr■ nh■p 2.000.000 website ■■ng Th■a th■ email vi■n th■i Thu■n c■a thành mong tài v■ li■u viên mu■n S■ online ■■ng D■ng click t■o l■n ký, D■ch ■i■u vào nh■t l■t link ki■n V■” vào Vi■t 123doc top sau cho Nam, 200 ■ây cho ■ã cung các (sau g■iwebsite c■p users ■âynh■ng ■■■c cóph■ thêm tài bi■n g■i thu li■u t■t nh■t nh■p ■■c T■it■i khơng t■ng Chính Vi■tth■i th■ Nam, v■y ■i■m, tìm t■123doc.net th■y l■chúng tìm ki■m tơi th■ racóthu■c ■■i tr■■ng th■nh■m c■p top ngo■i 3nh■t ■áp Google tr■ ■KTTSDDV ■ng 123doc.net Nh■n nhu c■u ■■■c theo chiaquy■t danh s■ tài hi■u li■udo ch■t c■ng l■■ng ■■ng vàbình ki■mch■n ti■n online website ki■m ti■n online hi■u qu■ uy tín nh■t DANH SÁCH HÌNH ẢNH Hình 1: Mơ hình tiến trình tốn Hình 2: Header chung Yahoo! Messenger Hình 3: Cấu trúc trường liệu Yahoo Hình 4: Chuỗi bước đăng nhập 10 Hình 5: Cấu trúc gói xác nhận gửi tới Yahoo! Server 10 Hình 6: Cấu trúc gói xác nhận gửi trả lại từ Yahoo! Server 11 Hình 7: Cấu trúc Server gửi lại Client 11 Hình 8: Cấu trúc gói xác lập quyền gửi tới server 11 Hình 9: Cấu trúc gói xác lập quyền nhận từ server 12 Hình 10: Client gửi trả ủy quyền tới Server 12 Hình 11: Yahoo! Buddy List nhận từ server 13 Hình 1: Các chức hoạt động chương trình………………………… 23 Hình 2: Sơ đồ chế đăng nhập ……………………………………………24 Hình 3: Sơ đồ chế nhận gửi tin nhắn …………………………………… 26 Hình 4: Sơ đồ mơ tả quấ trình tự động đăng nhập lại ………………………27 Hình 5: Sơ đồ chế tự động thêm nick …………………………………….28 Hình 6: Sơ đồ quy trình truy vấn phân tích cú pháp …………………………29 Hình 7: Kiến trúc JDBC ……………………………………………… 35 Hình 8: Cơ chế hoạt động JDBC – ODBC ………………………………36 DANH SÁCH TỪ VIÊT TẮT Từ viết tắt Nghĩa tiếng anh XML Extensible Markup Language JVM Java Virtual Machine SQL Structured Query Language IP Internet protocol ICQ Internet Chat Query TCP Transmission Protocol API Application Interface JDBC Java Database Connectivity ODBC Open Database Connectivity CO Connection Oriented DBMS Database Management System CPU Central Processing Unit IDE Integrated Development Environment JDK Java Development Kit DNS Domain Name System LỜI CẢM ƠN Trong lời báo cáo đồ án tốt nghiệp ―Xây dựng hệ thống trả lời tự động thông qua Yahoo Messenger‖ này, em muốn gửi lời cảm ơn biết ơn chân thành tới tất người hỗ trợ, giúp đỡ em kiến thức tinh thần trình thực đồ án Trước hết, em xin chân thành cám ơn Thầy Giáo - Ths Lê Thụy, Giảng viên Khoa Công Nghệ Thông Tin, Trường ĐHDL Hải Phòng, người trực tiếp hướng dẫn, nhận xét, giúp đỡ em suốt trình thực đồ án Xin chân thành cảm ơn GS.TS.NGƯT Trần Hữu Nghị Hiệu trưởng Trường Đại Học Dân Lập Hải Phịng, ban giám hiệu nhà trường, thầy Khoa Cơng Nghệ Thơng Tin phịng ban nhà trường tạo điều kiện tốt cho em bạn khác suốt thời gian học tập làm tốt nghiệp Cuối em xin gửi lời cảm ơn đến gia đình, bạn bè, người thân giúp đỡ động viên em nhiều trình học tập làm đồ án tốt nghiệp Do thời gian thực có hạn, kiến thức cịn nhiều hạn chế nên đồ án thực chắn không tránh khỏi thiếu sót định Em mong nhận ý kiến đóng góp thầy giáo bạn để em có thêm kinh nghiệm tiếp tục hồn thiện đồ án Em xin chân thành cảm ơn! Hải Phòng, ngày 24 tháng 11 năm 2012 Sinh viên Nguyễn Thu Trang MỞ ĐẦU Trong xã hội phát triển thông tin thực trở thành nguồn tài nguyên quan trọng Các mối quan hệ, tính trật tự tổ chức thuộc tính phổ biến hệ thống kinh tế - xã hội Hệ thống phát triển tức có nhiều yếu tố hợp thành nhiều mối quan hệ chúng trật tự phức tạp nội dung thông tin phong phú đến mức xử lý phương pháp công cụ ―truyền thống‖ Để xử lý lượng thông tin lớn địi hỏi phải có phương pháp công cụ cần thiết Trong sống ngày công nghệ thông tin coi ngành mũi nhọn đặt nên hàng đầu Các sản phẩm tạo ngành công nghệ thông tin giúp người xử lí vấn đề đơn giản hơn, đáp ứng nhu cầu sống ngày đại Việc trao đổi liệu, thông tin, hay trò chuyện trực tuyến, tâm sự, cảm xúc nhanh chóng bày tỏ, chia sẻ thơng qua phương tiện internet như: gmail, facebook, yahoo giúp rút ngắn khoảng cách, kết nối cộng đồng với Ngày nay, phát triển nhanh chóng Internet cho phép người dùng trao đổi thông tin nhanh thông qua hệ thống tin nhắn nhanh đàm thoại trực tuyến với chi phí ngày rẻ Có nhiều nhà cung cấp dịch vụ nhắn tin nhanh trực tuyến, thơng qua chương trình như: Yahoo! Messenger, Windows Messenger, Google Talk Ở Việt Nam, dịch vụ chat qua Yahoo! Messenger phổ biến ưa chuộng nhất, phù hợp với nhu cầu đa số người dùng hoàn toàn miễn phí Yahoo! Messenger chương trình chat, trao đổi thông tin, liệu hữu dụng giới internet từ trước đến nay, lúc ta ngồi trực nick yahoo để trả lời lại tin nhắn đến, em chọn đề tài ―Xây dựng hệ thống trả lời tự động thông qua Yahoo Messenger‖ Đồ án gồm chương: Chương 1: Giới thiệu tổng quan chương trình Chương 2: Nội dung chương trình Chương 3: Chương trình ứng dụng Chƣơng 1: GIỚI THIỆU TỔNG QUAN CHƢƠNG TRÌNH 1.1 Giới thiệu Bots Bot hay robot mạng ứng dụng phần mềm chạy tác vụ tự động hóa mạng Thơng thường bot thực tác vụ đơn giản có cấu trúc lặp lặp lại với tần suất cao nhiều so với khả soạn thảo viên người Ứng dụng rộng lớn Bot duyệt tự động Web theo kiểu bò loang (Web spidering), chương trình tự động tìm kiếm, phân tích xếp thông tin từ máy chủ web với tốc độ cao nhiều lần tốc độ người Mỗi máy chủ có file có tên robots.txt chứa quy tắc cho việc bò loang tự động máy chủ đó, quy tắc mà bot cần tuân theo Bot thường xuyên sử dụng giới Internet Một ví dụ Bots search enginer Người ta định nghĩa spider dùng cơng cụ tìm kiếm trực tuyến, ánh xạ website phần mềm đáp ứng theo yêu cầu IRC (như eggdrop) robot Bên cạnh ứng dụng kể trên, bot cịn cài đặt nơi đòi hỏi tốc độ phản ứng cao tốc độ người (chẳng hạn bot trò chơi điện tử bot trang web bán đấu giá) tình cần đến bắt chước hoạt động người chatbot – bot nói chuyện Nói cách ngắn gọn khác, bot Yahoo dạng robot chúng viết ngơn ngữ lập trình dùng để trả lời request từ phía người dùng gửi tới Ví dụ bạn add bot nick vào, bạn gửi request có botfile, gửi cho bạn hành động thiết lập, lời chào, thơng tin dự báo thời tiết, status, điểm thi môn học,… Hiện thực tế có nhiều phần mềm chát trả lời tự động yahoo nhằm đáp ứng yêu cầu giải trí, cập nhật tin tức…trên yahoo cần hành động add nickbot vào người dùng tìm kiếm thơng tin cần thiết bot Ví dụ số nick dùng nhiều: wow.robot, yahoo friend9… 1.2 Mơ tả tốn 1.2.1 Mơ hình chương trình: Database Truy vấn Truy vấn Truy vấn USER Trả Trả Bots Yahoo Trả Application Trả Truy vấn Database Hình 1: Mơ hình tiến trình tốn 1.2.1 Mơ tả: Khi User gửi yêu cầu truy vấn đến Bots Yahoo có cú pháp truy vấn cố định: - Nếu User nhập sai cú pháp hệ thống trả hướng dẫn cú pháp cho User Nếu User nhập liệu nhập vào chấp nhận thông qua Bots Yahoo gửi vào Application đem so sánh với sở liệu database tương ứng, sau so sánh có liệu phù hợp kết truy xuất Application trả cho Bots Yahoo, thông tin truy xuất tự động trả cho User 1.3 Giao thức Yahoo Yahoo Messenger protocol protocol tầng Application chạy TCP, HTTP, SOCKS Do giao thức Yahoo giao thức đóng việc tìm hiểu cách thức hoạt động trao đổi liệu cần phải thực cách thủ công thông qua việc chặn bắt gói tin gửi chương trình chat Việc tìm hiểu tiến hành thơng qua chương trình chat phổ biến chương trình Yahoo! Messager Qua việc theo dõi ghi nhận thông tin, cấu trúc gói tin phương thức gửi liệu chương trình ghi nhận Từ để đưa sở lý thuyết giao thức dành riêng cho việc truyền thông chương trình Yahoo sever gọi giao thức Yahoo (Yahoo! Protocol) Yahoo! Messenger chương trình giao thức nhắn tin có quảng cáo phổ biến cung cấp Yahoo! Đây chương trình miễn phí tải xuống để dùng với tài khoản Yahoo! Nó cho phép kết nối với dịch vụ khác Yahoo!, Yahoo! Mail, người sử dụng tự động thơng báo có thư Yahoo! Cung cấp tính gọi điện từ máy tính tới máy tính video call, truyền tập tin, dùng webcam, dịch vụ nhắn tin, phòng chát với nhiều loại khác Bên cạnh tính nhắn tin nhanh tương tự ICQ, Yahoo! Messenger cung cấp (trên Microsoft Windows) nhiều tính độc đáo như: IMVironments (tùy biến giao diện cửa sổ Instant Message), tích hợp sổ địa Custom Status Messages (tin nhắn trạng thái tùy chọn) Nó chương trình tin nhắn nhanh lớn có tính Buzzing trạng thái âm nhạc Và tính thêm vào gần chỉnh sửa hình đại diện (avatar) Năm 2003 phiên Yahoo! Messenger 2.5.3 cho máy Mac phát hành, phiên ổn định cho Mac OS X Nó cung cấp chức so với dành cho Windows báo cáo có nhiều lỗi Vào tháng năm 2006 Messenger cho Mac 3.0b1 phát hành beta, với hế hoạch cho thức sau Bản beta có giao diện thân 2.5.3 có hình đại diện, chức xem hình, BUZZ, tính khác cho giống Windows Tuy nhiên, thiếu tính cao cấp gọi từ máy tính tới máy tính, sổ địa vào phịng chat Tháng năm 2006 Yahoo! Messenger tích hợp tin nhắn nhanh cho người dùng Windows Live Messenger hoạt động hồn hảo Yahoo! Messenger khơng ngừng phát triển, nâng cấp cho phiên đa chức năng, giao diện bắt mắt, thân thiện Các phiên nâng cấp như: Yahoo! Messenger 8.1, Yahoo! Messenger 9.0 Beta, Yahoo! Messenger 10, Yahoo! Messenger 11, phiên Yahoo! Messenger 11.5 1.3.1 Cấu trúc gói tin: Qua q trình capture Yahoo! Messenger packets từ phía client, ta thấy YMSG ln có cấu trúc gói tin (Packet) sau: [ YMSG || Version || Packet length || Service || Status || Session ID || Content ] Tất truyền thông Yahoo! Đều sử dụng giao thức TCP thông qua truyền thông IP liệu Yahoo! Messenger nằm trường liệu gói TCP Yahoo! Mở rộng giao thức TCP/ IP việc sử dụng header tạo định dạng header lớp ứng dụng Một header Yahoo! Dài 20 bytes nhận byte ―YMSG‖ Header Yahoo! Cũng bao gồm thông tin phiên YMSG, độ dài thông báo, kiểu dịch vụ, trạng thái ID phiên làm việc (session ID) Hình 2: Header chung Yahoo! Messenger Phần liệu (Data) gói Yahoo tuân theo cấu trúc riêng Ngay sau Session ID, trường liệu có dạng FIELD ID, FIELD SEPARATOR, FIELD DATA, FIELD SEPARATOR,…, FIELD SEPARATOR Trường ID biểu diễn số nguyên ASCII bao gồm vài ký tự Ngăn cách trường dãy số hexa có giá trị C0 80 Hình 1.3 biểu diễn cấu trúc trường liệu gói Yahoo: Hình 3: Cấu trúc trường liệu Yahoo 10 Như vậy, gói Yahoo! Sẽ có dạng hình bên Ở dịng đầu hình vẽ bao gồm kiểu dịch vụ phía bên phải cho thấy phương hướng truyền thông Một danh mục trường ID, kiểu dịch vụ, trạng thái 1.3.2 Cơ chế đăng nhập: Để sử dụng mạng Yahoo!, client phải đăng nhập với tên người dùng mật Thứ tự bước đăng nhập trình bày hình Khơng phải tất bước cần thiết để đăng nhập vào mạng Yahoo!và bước không bắt buộc đánh dấu ―*‖ Hình 4: Chuỗi bước đăng nhập Bước để đăng nhập gửi gói xác nhận, Yahoo_Verify, tới máy chủ Yahoo! Để kiểm tra tồn đường mạng dùng Cấu trúc gói trình bày hình 1.5, hình 1.6 hình 1.7: Hình 5: Cấu trúc gói xác nhận gửi tới Yahoo! Server 36 Cầu nối JDBC – ODBC: cung cấp truy cập JDBC thơng qua truy cập ODBC Vì sở liệu máy khách, lệnh ODBC lệnh sở liệu phải nạp trước máy khách ln cung cấp kèm J2SE với tên: sun.jdbc.obdc.JdbcOdbcDriver Cơ chế hoạt động JDBC – ODBC thể qua hình sau: Client Computer DB Vender Driver Java Application Application code Type ODBC JDBC ODBC Bridge Driver Proprietary Vendor Network Specific Protocol communication Local DBMS Database Server Hình 8: Cơ chế hoạt động JDBC – ODBC 2.3.2 Kết nối sở liệu: Để kết nối với sở liệu, JDBC địi hỏi hai yếu tố trình điều khiển driver (tương ứng với kiểu kết nối) thông tin để kết nối (như địa máy chủ, tên tài khoản đăng nhập mật khẩu…) 37 Có hai cách để tạo kết nối SQL Sever Java sử dụng JDBC – ODBC bridge Cách 1: tạo ― System data source‖ thông qua công cụ ―ODBC Data Source Administrator‖ hệ điều hành Windows, sau viết chương trình Java thực kết nối đến DNS (Data Source Name) tạo đọc liệu từ Database Cách 2: sử dụng chuỗi kết nối trực tiếp đến Database theo cú pháp có dạng ―jdbc:odbc:driver={SQLSever};Sever=;Database= ;UserName=;Password=‖ Trong chương trình ta sử dụng cách thứ kết nối database sử dụng JDBC -ODBC dựa DNS Được thực thi qua hai bước là: đăng ký trình điều khiển JDBC; thực thi phương thức getConnection() lớp DriverManager Bước 1: thực kết nối : Đầu tiên cần phải tạo DataSource Name cho sở liệu cách vào Control Panel chọn ODBC Data Source Chọn Add danh sách trình điều khiển sở liệu có hiển thị: 38 Ta chọn Microsoft Accsess Driver(*.mdb, *.accdb) trình điều khiển ta sử dụng nhấn Finish Cửa sổ cấu hình cho tập tin Access xuất nhập tên file liệu vào ô Data Source Name Chọn Select cửa sổ Select Database xuất hiện, bạn chọn tập tin sở liệu cần tạo Data Source Name cuối nhấn OK để kết thúc 39 Sau tạo DNS cho tập tin diemthi1.accdb, chuyển sang bước xây dựng đoạn mã để tiến hành kết nối với tập tin diemthi.accdb Bước 2: Để thực thi hàm ta phải import thư viện: java.sql.Connection; java.sql.DriverManager; java.sql.SQLException; private Connection con=null;// khai báo Connection rỗng private String connectionURL = "jdbc:odbc:diemthi1"; Class.forName(―sun.jdbc.odbc.JdbcOdbcDriver‖); // đăng ký trình điều khiển để sử dụng câu lệnh Connection = DriverManager.getConnection(dbURL,‖‖,‖‖); sqlQuery = "SELECT * FROM diemthi1" + " WHERE '" + decodedMessage + "'=MASV";// truy vấn vào sở liệu để lấy trường từ bảng diemthi1 với điều kiện mã sinh viên khớp với mã sinh viên bảng 40 CHƢƠNG 3: CHƢƠNG TRÌNH ỨNG DỤNG 3.1 Yêu cầu phần cứng, phần mềm a Yêu cầu phần cứng: Chip P4 1,6GHz RAM 512 MB Card đồ họa 64 MB Directx 9.0 b Yêu cầu phần mềm: Hệ điều hành tối thiểu: Windows 2000 Mơi trường lập trình Java SE Development Kit JDK Mơi trường phát triển tích hợp Netbeans 7.2 3.2 Giao diện chƣơng trình a Giao diện chính: Chúng ta đăng nhập Bot Yahoo với tên đăng nhập ―CT1201HPU‖ password ―trang121181‖ 41 Mã nguồn đăng nhập: S1 = new Session(); System.out.println(S1.getSessionStatus().toString()); if(S1==null) { JOptionPane.showMessageDialog(JF, "Khong the tao duoc ket noi!"); } try { S11.login(username, password); S11.setStatus("I'm DHP Bots", false); } catch (IllegalStateException | IOException | FailedLoginException ex) { Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); } catch (AccountLockedException ex) { Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); } catch (LoginRefusedException ex) { Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); } S11.addSessionListener(new Nhan_Event()); Mã nguồn nập danh sách Nick: RT = S11.getRoster(); for(YahooUser yu: RT.toArray(new YahooUser[RT.size()])) { JL1.addElement(yu.getId()); } 42 Giao diện người dùng add nick Bot Yahoo ―CT1201HPU‖: Người dùng dịch vụ hệ thống, sử dụng chương trình Yahoo Messenger tải cài đặt miễn phí trang chủ Yahoo địa www.yahoo.com Chương trình chương trình chat miễn phí sử dụng phổ biến Việt Nam Người dùng đầu cuối sử dụng chương trình để nhắn tin theo cú pháp đến hệ thống trả lời tự động để lấy thông tin cần thiết 43 b Giao diện gửi tin nhắn đến Bot Yahoo: c Giao diện nhận tin nhắn Bot Yahoo: 44 Nạp chồng phƣơng phức nhận thông điệp từ ngƣời dùng đầu cuối: @Override public void messageReceived(SessionEvent event) { Pattern p1; Matcher m1; Statement st1; ResultSet rec; String inputmsg = event.getMessage(); String s = "(\\b[0-9C]*\\b)"; if( inputmsg.split(" ")[0].compareToIgnoreCase("TRADIEM") == 0) { p1 = Pattern.compile(s); m1 = p1.matcher(inputmsg); while(m1.find()) { if(!m1.group().toString().isEmpty()) { System.out.println(m1.group()); try { st1 = con1.createStatement(); rec = st1.executeQuery("SELECT Hoten, Diem FROM diemqt WHERE Masv='"+m1.group()+"'"); while (rec.next()) { try { S11.sendMessage(currentNick, rec.getString(1) + ":\t" + rec.getString(2)); } catch (IllegalStateException | IOException ex) { Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); } } System.out.println(i); st1.close(); 45 } catch (SQLException ex) { System.out.println("LOI SQL"+ex.getMessage()); Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex); } } } }//comprare IF else { S11.sendMessage(currentNick, "Sai cú pháp! TRADIEM [masinhvien]"); } } d.Giao diện nhận tin nhắn trả lời tự động từ Bot Yahoo: Khi gửi tin nhắn yêu cầu cú pháp ―TRADIEM [mã sinh viên]‖ Bot Yahoo trả họ tên điểm q trình sinh viên 46 e Giao diện gửi nhận tin nhắn sai cú pháp: Khi gửi yêu cầu sai cú pháp Bot Yahoo gửi thơng báo sai cú pháp hướng dẫn cú pháp 47 f.Giao diện nhận trả lời khơng có sở liệu cần tìm: 48 Một số phương thức nạp chồng lớp SessionListener để sử lý kiện phiên làm việc Session: class Nhan_Event extends SessionAdapter { @Override public void messageReceived(SessionEvent event) { //Phương thức xử lý kiện nhận thông điệp } @Override public void offlineMessageReceived(SessionEvent se) { //Phương thức xử lý kiện nhận thông điệp offline } @Override public void connectionClosed(SessionEvent se) { //Phương thức xử lý kiện ngắt kết nối } @Override public void friendAddedReceived(SessionFriendEvent sfe) { //Phương thức xử lý kiện add friend } @Override public void contactRequestReceived(SessionAuthorizationEvent se) { //Phương thức xử lý kiện yêu cầu kết bạn } } 49 KẾT LUẬN Với đề tài ―Xây dựng hệ thống trả lời tự động thông qua Yahoo Messenger‖ Em mang kiến thức học nhà trường đem vận dụng vào thực tế để xây dựng chương trình Qua em có điều kiện trau dồi, nâng cao kiến thức học Với yêu cầu đề tài thực tế để xây dựng thêm ứng dụng Yahoo Messenger em đạt số kết sau: Tìm hiểu làm quen mơi trường phát triển tích hợp Netbeans - IDE 7.2 Tìm hiểu chế làm việc, lập trình Yahoo Tìm hiểu cách thức tạo chương trình cho phép tương tác với Yahoo, nhằm triển khai chế trả lời tự động Xây dựng chương trình tra cứu điểm cho sinh viên thông qua Yahoo Messenger để ứng dụng thực tiễn Sau xây dựng, chương trình thực chức giao tiếp với người dùng thông qua hệ thống máy chủ Yahoo, gửi nhận tin nhắn, trả lời tự động với nội dung phù hợp nhằm đáp ứng nhu cầu tra cứu thơng tin người dùng Tuy nhiên, để ứng dụng rộng rãi trường hợp khác địi hỏi chương trình phải có tính linh hoạt thao tác trả lời tự động làm việc với sở liệu khác Sau số hướng phát triển đề tài: - Tiếp tục hoàn thiện chức chương trình Xây dựng chức cho phép chương trình làm việc với hệ sở liệu khác Có chế phịng vệ tốt việc phịng ngừa cơng từ người dùng với mục đích phá hoại hoạt động chương trình Trong thời gian tới, em tiếp tục phát triển chương trình nhằm hồn thiện chức chương trình để chương trình hoạt động tốt Do kiến thức thời gian hạn chế nên đồ án tốt nghiệp em khơng tránh khỏi thiếu sót Em mong nhận ý kiến đánh giá, đóng góp thầy cô giáo bạn để đồ án em hoàn thiện 50 TÀI LIỆU THAM KHẢO http://sourceforge.net/apps/trac/openymsg Library (OpenYMSG) http://netbeans.org/community/releases/72/ Java Yahoo Messenger NetBeans IDE 7.2.1 Release Information Java.sun.com Lập trình Java nâng cao – Đồn Văn Ban – nhà xuất Khoa Học Kỹ Thuật Java tập 1, (Ấn dành cho sinh viên) – nhà xuất Thống kê – Phương Lan (chủ biên) ... ta ngồi trực nick yahoo để trả lời lại tin nhắn đến, em chọn đề tài ? ?Xây dựng hệ thống trả lời tự động thông qua Yahoo Messenger? ?? Đồ án gồm chương: Chương 1: Giới thiệu tổng quan chương trình... tác Yahoo Chương trình trả lời tự động qua hệ thống tin nhắn nhanh Yahoo! Messenger bao gồm chức năng: User Truy vấn Trả Quản lý truy vấn Truy vấn Trả Truy vấn Bots Yahoo trả Yahoo sever Trả. .. bạn } } 49 KẾT LUẬN Với đề tài ? ?Xây dựng hệ thống trả lời tự động thông qua Yahoo Messenger? ?? Em mang kiến thức học nhà trường đem vận dụng vào thực tế để xây dựng chương trình Qua em có điều

Ngày đăng: 05/08/2021, 22:14

Tài liệu cùng người dùng

Tài liệu liên quan