BÀI TẬP LẬP TRÌNH MẠNG CHƯƠNG TRÌNH CHATROOM 2

21 632 0
BÀI TẬP LẬP TRÌNH MẠNG CHƯƠNG TRÌNH CHATROOM 2

Đ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

TR NG Đ I H C BÁCH KHOAƯỜ Ạ Ọ KHOA CÔNG NGH THÔNG TINỆ B MÔN M NG VÀ TRUY N THÔNGỘ Ạ Ề  BÀI T P L N L P TRÌNH M NGẬ Ớ Ậ Ạ Đ tàiề Xây d ng ch ng trình chat roomự ươ Sinh viên : Võ Quang Hòa L pớ : 07T4 Mã s sinh viênố : 102114071123 Cán b h ng d n ộ ướ ẫ : Huỳnh Công Pháp Đà N ng 2011ẵ T o ch ng trình chát roomạ ươ Trang 2 Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát roomạ ươ Trang 3 CH NG 1. M Đ UƯƠ Ở Ầ Ph n 1. B i c nh, lý do th c hi n đ tàiầ ố ả ự ệ ề Hi n nay m ng internet toàn c u đã phát tri n r t m nh, đáp ng r t t t các nhu c uệ ạ ầ ể ấ ạ ứ ấ ố ầ v thông tin khoa h c, gi i trí, liên l c, mua bán, qu ng cáo v.v c a con ng i. Internet đãề ọ ả ạ ả ủ ườ tr thành m t thành ph n không th thi u v i cu c s ng hi n đ i. V b n ch t, Internetở ộ ầ ể ế ớ ộ ố ệ ạ ề ả ấ ch ng qua là m t h th ng m ng, liên k t các máy tính trên toàn th gi i l i theo nh ngẳ ộ ệ ố ạ ế ế ớ ạ ữ chu n chung c a nó. V i ph m vi nh h n nh ng cũng r t t ng t , có nh ng m ng khác đóẩ ủ ớ ạ ỏ ơ ư ấ ươ ự ữ ạ là WAN, LAN , m i mô hình đó đ u đ c ng d ng r t nhi u ti n ích khác nhau.ỗ ề ượ ứ ụ ấ ề ệ V i m c tiêu đ cho các sinh viên ra tr ng v i m t ki n th c t t v m ng, v l pớ ụ ể ườ ớ ộ ế ứ ố ề ạ ề ậ trình ng d ng trên m ng đ có th làm đ c nhi u vi c khác nhau, b môn l p trình m ngứ ụ ạ ể ể ượ ề ệ ộ ậ ạ ra đ i. Vì v y, ngày hôm nay, lúc em đang h c v l p trình m ng, th y Huỳnh Công Pháp đãờ ậ ọ ề ậ ạ ầ giao bài t p l n “Xây d ng ch ng trình chat room”, đi u đó giúp em th c hành đ có c h iậ ớ ự ươ ề ự ể ơ ộ hi u rõ h n v m ng, v l p trình m ng – m t lĩnh v c l p trình r t thú v này.ể ơ ề ạ ề ậ ạ ộ ự ậ ấ ị Ph n 2 : C s l p trìnhầ ơ ở ậ ng d ng ho t đ ng d a vào giao th c IP/TCP đ truy n d li u gi a hai máy khácỨ ụ ạ ộ ự ứ ể ề ữ ệ ữ nhau, c th đây là m t máy server đ cung c p d ch v và nhi u máy client s d ng d chụ ể ở ộ ể ấ ị ụ ề ử ụ ị v do máy server cung c p đ cho ng i dùng s d ng.ụ ấ ể ườ ử ụ Ngôn ng l p trình đây là ngôn ng Java (Phiên b n J2SE 1.6) vì Java là ngôn ng cóữ ậ ở ữ ả ữ th đ c s d ng đ vi t ng d ng ch y trên h u h t các thi t b ( đây ta quan tâm t iể ượ ử ụ ể ế ứ ụ ạ ầ ế ế ị ở ớ thi t b có h tr m ng). Tr ng đi m, có m y kh năng n i tr i do Java cung c p mà ta cóế ị ỗ ợ ạ ọ ể ấ ả ổ ộ ấ th s d ng là :ể ử ụ - L p trình đa tuy n trình (Cùng 1 ng d ng nh ng có th ch y nhi u ti n trình songậ ế ứ ụ ư ể ạ ề ế song v i nhau thay vì c ph i ti n trình này đ i ti n trình kia k t thúc m i có th th cớ ứ ả ế ợ ế ế ớ ể ự hi n)ệ - Java là m t n n t ng có th ch y trên nhi u lo i thi t b v i nhi u h đi u hành khácộ ề ả ể ạ ề ạ ế ị ớ ề ệ ề nhau nên có ph m vi ng d ng r t r ng rãi.ạ ứ ụ ấ ộ - L p trình m ng. L p quan tr ng nh t mà ta s d ng là l p Socket và ServerSocket.ậ ạ ớ ọ ấ ử ụ ớ Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát roomạ ươ Trang 4 CH NG 2. C S LÝ THUY TƯƠ Ơ Ở Ế Ph n 1 : Yêu c u c a đ tàiầ ầ ủ ề Vi t ch ng trình Client/Server cho phép nhi u ng i s d ng có th g i tin nh n choế ươ ề ườ ử ụ ể ử ắ nhau d i d ng m t phòng chat room.ướ ạ ộ Ph n 2 : Gi i thi u mô hình Client/Serverầ ớ ệ Server hi u nôm na là máy ch , th ng là m t h th ng máy l n, có b x lý m nh,ể ủ ườ ộ ệ ố ớ ộ ử ạ có kh năng ho t đ ng đáng tin c y, có kh năng l u tr d li u l n, nó chuyên qu n lý tàiả ạ ộ ậ ả ư ữ ữ ệ ớ ả nguyên (ch y u là c s d li u), cung c p các d ch v m ng cho các máy khách (client) sủ ế ơ ở ữ ệ ấ ị ụ ạ ử d ng. Bình th ng nó ch y su t th i gian th c và s n sàng ch p nh n các yêu c u k t n i vàụ ườ ạ ố ờ ự ẵ ấ ậ ầ ế ố các yêu c u d ch v khác t máy khách.ầ ị ụ ừ Client là máy khách, nó th ng đ c s d ng b i ng i dùng cu i. Nó ho t đ ng d aườ ượ ử ụ ở ườ ố ạ ộ ự trên vi c s d ng d ch v mà máy server cung c p đ th c hi n các công vi c mà ng i dùngệ ử ụ ị ụ ấ ể ự ệ ệ ườ cu i mong mu n. ố ố Quy trình ho t đ ng c a mô hình này l p đi l p l i 2 quá trình nh sau :ạ ộ ủ ặ ặ ạ ư - Client g i yêu c u lên server.ử ầ - Server nh n đ c yêu c u thì s x lý thích h p và tr l i l i client.ậ ượ ầ ẻ ử ợ ả ờ ạ - o Mô hình Client/Server Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát roomạ ươ Trang 5 Ph n 3 : Gi i thi u giao th c IP/TCPầ ớ ệ ứ 1. Gi i thi u v TCPớ ệ ề Giao th c TCP (Transmission Control Protocol) là giao th c h ng k t n iứ ứ ướ ế ố (connection-oriented), nó đòi h i thi t l p k t n i tr c khi b t đ u g i d li u và k tỏ ế ậ ế ố ướ ắ ầ ử ữ ệ ế thúc k t n i khi vi c g i d li u hoàn t t theo đúng th t : thi t l p k t n i, truy n dế ố ệ ử ữ ệ ấ ứ ự ế ậ ế ố ề ữ li u và k t thúc k t n i.ệ ế ế ố 2. Gi i thi u v IP.ớ ệ ề IP là đ a ch c a m t máy tính trên m ng, d a vào đ a ch IP giao th c TCP có thị ỉ ủ ộ ạ ự ị ỉ ứ ể truy n d li u chính xác t m t máy này qua máy kia thông qua h th ng m ng. trênề ữ ệ ừ ộ ệ ố ạ Ở m ng, m t máy tính s có m t đ a ch IP khác nhau, t đ a ch IP có th bi t đ c máyạ ộ ẻ ộ ị ỉ ừ ị ỉ ể ế ượ nào trên m ng và ng c l i.ạ ượ ạ 3. Gi i thi u v c ng Port.ớ ệ ề ổ V i IP, giao th c TCP ch m i có th truy n d li u chính xác t máy này qua máy kiaớ ứ ỉ ớ ể ề ữ ệ ừ mà ch a th truy n chính xác đ n t ng ng d ng trên máy đ c. Hi n nay, các h th ngư ể ề ế ừ ứ ụ ượ ệ ệ ố máy thông th ng ho t đ ng theo ch đ đa nhi m, nghĩa là có nhi u ng d ng ch yườ ạ ộ ế ộ ệ ề ứ ụ ạ cùng m t lúc và trong đó có th có nhi u ng d ng s d ng d ch v m ng. Yêu c u, khiộ ể ề ứ ụ ử ụ ị ụ ạ ầ máy ch A truy n d li u cho m t ng d ng u trên máy B thì trên máy B ph i đ m b oủ ề ữ ệ ộ ứ ụ ả ả ả d li u đó ph i đ n đ c ng d ng u, ch không ph i ng d ng v. ữ ệ ả ế ượ ứ ụ ứ ả ứ ụ Đ th c hi n đi u đó thì máy ch A khi truy n d li u đi thì trên d li u đó có m tể ự ệ ề ủ ề ữ ệ ữ ệ ộ thành ph n thông tin giúp máy B xác đ nh đ c đúng ng d ng u. Ph n thông tin đó chínhầ ị ượ ứ ụ ầ là đ a ch port trên máy B, nó có th hi u là l c m o trên máy B mà ng d ng u đã đăngị ỉ ể ể ỗ ắ ả ứ ụ ký đ đ c quy n s d ng nh n nh n d li u t máy ch A. ể ộ ề ử ụ ằ ậ ữ ệ ừ ủ Trên th c t , đ a ch port là m t s nguyên 2 byte có giá tr t 0 đ n 65535. Nó có đ cự ế ị ỉ ộ ố ị ừ ế ặ đi m :ể - Giá tr t 0 đ n 1023 là các c ng ph bi n dành cho các ng d ng thông d ng nhị ừ ế ổ ổ ế ứ ụ ụ ư http: 80, mail : 25, fpt : 21, Telnet 23 Các giá tr còn l i có th đ c s d ng linhị ạ ể ượ ử ụ ho t.ạ - M i c ng trong m i th i đi m đ c s d ng cho t i đa là 1 ng d ng. Ví d nh m tỗ ổ ỗ ờ ể ượ ử ụ ố ứ ụ ụ ư ộ ng d ng nào đó đã s d ng c ng 55 thì ng d ng khác không th s d ng c ng 55ứ ụ ử ụ ổ ứ ụ ể ử ụ ổ đó n a ch ng nào ng d ng tr c đó ch a có đóng c ng 55 l i.ữ ừ ứ ụ ướ ư ổ ạ 4. Gi i thi u v Socket.ớ ệ ề - Socket là m t khái ni m đ đ nh v m t d ch v c a m t máy tính trên m ng khi k tộ ệ ể ị ị ộ ị ụ ủ ộ ạ ế h p hai khái ni m IP và Port l i.ợ ệ ạ - Socket có nh ng nhi m v nh sau :ữ ệ ụ ư • G n m t c ng trên máyắ ộ ổ • L ng nghe các k t n i.ắ ế ổ Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát roomạ ươ Trang 6 • K t n i/Đóng k t n i đ n máy tính xa qua c ng đã g nế ố ế ố ế ở ổ ắ • G i/nh n d li uử ậ ữ ệ • L ng nghe d li u đ nắ ữ ệ ế Th c ch t, Socket ch ng qua là s k t h p gi a đ a ch IP c a máy tính và c ng Port màự ấ ẳ ự ế ợ ữ ị ỉ ủ ổ ng d ng s d ng. Chính vì s k t h p đó mà nó tr thành m t khái ni m mà t đó, các ngônứ ụ ử ụ ự ế ợ ở ộ ệ ừ ng l p trình có ch a các gói, các giao di n l p trình (API) đ h tr các nhà l p trình dữ ậ ứ ệ ậ ể ỗ ợ ậ ễ dàng trong vi c lâp trình liên quan đ n m ng qua giao th c TCP. Đi n hình là ngôn ng Javaệ ế ạ ứ ể ữ mà em s gi i thi u ngay sau đây.ẻ ớ ệ Ph n 4 : L p trình m ng trong Java.ầ ậ ạ 1. Giói ServerSocket Nhi m v chính : ệ ụ  M m t c ng k t n i trên server, s n sàng ho t đ ng trên c ng đó.ở ộ ổ ế ố ẵ ạ ộ ổ  L ng nghe, ch đ i các yêu c u k t n i trên c ng đó và k t n i khi có yêu c u.ắ ờ ợ ầ ế ố ổ ế ố ầ  T o lu ng d li u vào ra đ có th truy n d li u trên c ng đ n m t socket ạ ồ ữ ệ ể ể ề ữ ệ ổ ế ộ ở máy khách. (Đây là ch c năng quan tr ng nh t).ứ ọ ấ  Đóng k t n i lúc không s d ng.ế ố ử ụ 2. Gói Socket. Nhi m v chínhệ ụ  K t n i t i m t máy ch thông qua đ a ch IP và s hi u c ng trên máy ch đó.ế ố ớ ộ ủ ị ỉ ố ệ ổ ủ  T o lu ng d li u vào raạ ồ ữ ệ  Đóng k t n i.ế ố 3. M t s gói, l p b tr khác.ộ ố ớ ổ ợ a. Gói Swing, awt.event : t o giao di n ng i dùngạ ệ ườ b. Gói Runnable, Thread : H tr đa ti n trìnhỗ ợ ế c. Gói java.io : Cung c p các l p vào ra d li uấ ớ ữ ệ Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát roomạ ươ Trang 7 CH NG 3 : PHÂN TÍCH THI T K CH NG TRÌNHƯƠ Ế Ế ƯƠ Ph n 1 : Phân tích yêu c uầ ầ Vi t ch ng trình cho phép chat room gi a nhi u ng i qua m ng.ế ươ ữ ề ườ ạ Ph n 2 : Phân tích ch c năng.ầ ứ 1. Trên Client:  Đăng nh p vào server v i m t cái nickname do ng i dùng t ch nậ ớ ộ ườ ự ọ  Nh n danh sách các nick đang online trên server.ậ  G i tin nh n t i m t ng i, nhi u ng i ho c t t c m i ng i online khácử ắ ớ ộ ườ ề ườ ặ ấ ả ọ ườ trên server.  Nh n tin nh n t nickname khác g i t i.ậ ắ ừ ử ớ  Đăng xu t tài kho n.ấ ả 2. Trên Server:  T o c ng k t n i và s n sàng đón nh n các s k t n i t clientạ ổ ế ố ẵ ậ ự ế ố ừ  X lý yêu c u đăng nh p t clientử ầ ậ ừ • N u nickname ch a có đăng nh p t tr c thì cho đăng nh pế ư ậ ừ ướ ậ • N u đã có m t ai đó đăng nh p t tr c v i nickname đó thì cho ng iế ộ ậ ừ ướ ớ ườ đăng nh p tr c đó ph i đăng xu t và cho ng i m i đăng nh p vào.ậ ướ ả ấ ườ ớ ậ  Tr v danh sách các nickname online cho nickname có yêu c u.ả ề ầ  Nh n tin nh n t m t nickname và chuy n ti p t i các nickname khác t ngậ ắ ừ ộ ể ế ớ ươ ng theo yêu c u c a nickname g i.ứ ầ ủ ử  Lo i nickname khi nickname yêu c u đăng xu t.ạ ầ ấ  Cho phép ng i s d ng theo dõi các thành viên đăng nh p, đăng xu t.ườ ử ụ ậ ấ Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát roomạ ươ Trang 8 CH NG 4 : TRI N KHAI TH C HI N VÀ K T QUƯƠ Ể Ự Ệ Ế Ả Ph n 1 : Môi tr ng tri n khaiầ ườ ể - H đi u hành : Microsoft Window 7, Microsoft Window XP (Ch y máy o)ệ ề ạ ả - IDE : Eclipse Helios Service Release 2. T i mi n phí t i ả ễ ạ http://eclipse.org/ Ph n 2 : K t qu th c hi n.ầ ế ả ự ệ - V c b n, ch ng trình th c hi n đ c các ch c năng là t o k t n i, chat qua l iề ơ ả ươ ự ệ ượ ứ ạ ế ố ạ gi a các thành viên online.ữ - V i ph m vi nh c a đ tài, ch a có th c hi n m t s ch c năng mà có th tri n khaiớ ạ ỏ ủ ề ư ự ệ ộ ố ứ ể ể đ c nh truy n file, g i tin nh n có đ nh d ng gi ng nh các ng d ng chat th cượ ư ề ử ắ ị ạ ố ư ứ ụ ự s đang có.ự - Các thao tác trên giao di n cũng ch a th c s ti n l i. Vi c th nghi m ch m i d ngệ ư ự ự ệ ợ ệ ử ệ ỉ ớ ừ l i trên máy m ng lan (Gi a máy th t và máy o) và trên máy c c b (S d ng đ aạ ở ạ ữ ậ ả ụ ộ ử ụ ị ch localhost).ỉ M t s hình nh minh h aộ ố ả ọ Ch c năng qu n lý c a ch ng trình trên server.ứ ả ủ ươ Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát roomạ ươ Trang 9 Các ch c năng trên ch ng trình clientứ ươ Minh h a vi c chat trên h th ngọ ệ ệ ố Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát roomạ ươ Trang 10 Ph n 3 : Ch ng trìnhầ ươ 1. Ch ng trình trên máy server.ươ a.File Command.java b. File NewSocket.java Võ Quang Hòa – L p 07T4ớ [...]...Tạo chương trình chát room Trang 11 Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room Trang 12 c File Server.java Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room Trang 13 Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room Trang 14 Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room 2 Trang 15 Chương trình trên máy Client 2. a Command.java Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room 2. b Trang... 2. b Trang 16 Transport.java  Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room Trang 17 Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room Trang 18 c File Client.java Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room Trang 19 Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room Trang 20 Võ Quang Hòa – Lớp 07T4 Tạo chương trình chát room Trang 21 Võ Quang Hòa – Lớp 07T4 . Võ Quang Hòa L pớ : 07T4 Mã s sinh viênố : 1 021 14071 123 Cán b h ng d n ộ ướ ẫ : Huỳnh Công Pháp Đà N ng 20 11ẵ T o ch ng trình chát roomạ ươ Trang 2 Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát. nguyên 2 byte có giá tr t 0 đ n 65535. Nó có đ cự ế ị ỉ ộ ố ị ừ ế ặ đi m :ể - Giá tr t 0 đ n 1 023 là các c ng ph bi n dành cho các ng d ng thông d ng nhị ừ ế ổ ổ ế ứ ụ ụ ư http: 80, mail : 25 ,. 07T4ớ T o ch ng trình chát roomạ ươ Trang 15 2. Ch ng trình trên máy Clientươ 2. a. Command.java Võ Quang Hòa – L p 07T4ớ T o ch ng trình chát roomạ ươ Trang 16 2. b. Transport.java  Võ Quang Hòa – L

Ngày đăng: 20/05/2014, 12:08

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1. MỞ ĐẦU

    • Phần 1. Bối cảnh, lý do thực hiện đề tài

    • Phần 2 : Cơ sở lập trình

    • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

      • Phần 1 : Yêu cầu của đề tài

      • Phần 2 : Giới thiệu mô hình Client/Server

      • Phần 3 : Giới thiệu giao thức IP/TCP

      • Phần 4 : Lập trình mạng trong Java.

      • CHƯƠNG 3 : PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH

        • Phần 1 : Phân tích yêu cầu

        • Phần 2 : Phân tích chức năng.

        • CHƯƠNG 4 : TRIỂN KHAI THỰC HIỆN VÀ KẾT QUẢ

          • Phần 1 : Môi trường triển khai

          • Phần 2 : Kết quả thực hiện.

          • Phần 3 : Chương trình

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

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

Tài liệu liên quan