Hình 2.13: Giao diện khi thêm dữ liệu
Hình 2.15: Giao diện của Client.
Hình 2.17: Giao diện gửi theo giao thức TCP
2.6. Tiểu kết
Sau khi phân tích các chức năng, vẽ các mô hình chức năng, mô hình tổng quát của chương trình, tìm hiểu về các gói trong ngôn ngữ lập trình Java được sử dụng trong việc xây dựng chương trình. Chúng ta tiến hành xây dựng 3 module: ClientServer, UDPServer, UDPClient và xây dựng được giao diện cho người sử dụng.
Như vậy sau khi đã hoàn thành chương trình, để biết được kết quả đạt được của chương trình thì mời mọi người xem chương III.
CHƯƠNG III: KẾT QUẢ ĐẠT ĐƯỢC 3.1. Kết quả đạt được
¾Server
• Kiểm tra được có bao nhiêu Client đang lắng nghe từ Server. • Gửi dữ liệu xuống các Client đang kết nối với Server.
• Gửi thời gian hiển thị cho từng file của Client. • Lưu thông tin các file đã gửi cho Client. ¾Client
• Nhận dữ liệu khi Server gửi xuống và lưu dữ liệu vào file receive. • Hiển thị dữ liệu khi nhận được thông báo hiển thị từ Server.
3.2 Kết quả thử nghiệm
Nhìn chung sau khi hoàn thiện đồ án chúng tôi đã đạt được những yêu cầu cơ bản của chương trình, sau khi thử nghiệm chương trình trên môi trường Window XP, Win 7 thì chương trình chạy ổn định.
Chúng tôi đã thử nghiệm chương trình trong mạng nội bộ (LAN), sử dụng mạng VNPT tốc độ 4mb.
3.2.1, Mạng LAN
¾ UDP gửi cho 2 Client
• 1 file 673mb gửi hết 141 phút 5 giây, như vậy tốc độ gửi file 81kb/s. • 4 file 248mb gửi hết 46 phút 21 giây, như vậy tốc độ gửi file 83kb/s. • 6 file 37.6mb gửi hết 8 phút 9 giây, như vậy tốc độ gửi file 79kb/s. • 38 file 12.4mb gửi hết 3 phút 45 giây, như vậy tốc độ gửi file 57kb/s. • 94 file 37.6mb gửi hết 10 phút 52 giây, như vậy tốc độ gửi file 58kb/s.
¾ UDP gửi cho 5 Client
• 1 file 673mb gửi hết 145 phút 18 giây, như vậy tốc độ gửi file 79kb/s. • 4 file 12.4mb gửi hết 3 phút 21 giây, như vậy tốc độ gửi file 73kb/s. • 6 flie 26.2mb gửi hết 6 phút 42 giây, như vậy tốc độ gửi file 70kb/s. • 38 file 43.2mb gửi hết 11 phút 21 giây, như vậy tốc độ gửi file 65kb/s. • 94 flie 37.6mb gửi hết 10 phút 32 giây, như vậy tốc độ gửi file 61kb/s.
Hình 3.1: Biểu đồ thể hiện tốc độ gửi dữ liệu trong cơ chế UDP
Kết quả biểu đồ thì chúng ta thấy được là tốc độ gửi file của cơ chế UDP là không cao, nó không bị ảnh hưởng bới số lượng Client kết nối, mà bị ảnh hưởng bởi tốc độ của các gói cước internet, ngoài ra nó cũng bị ảnh hưởng bởi số lượng file được gửi đi.
¾TCP
• 76 file 24.9mb gửi hết 2 phút 4 giây, như vậy tốc độ gửi file 206kb/s. • 38 file 12.4mb gửi hết 58 giây, như vậy tốc độ gửi file 219kb/s. • 24 file 150mb gửi hết 57 giây, như vậy tốc độ gửi file 2.63mb/s.
• 4 file 951mb gửi hết 2 phút 22 giây, như vậy tốc độ gửi file 6.7mb/s. • 3 file 153mb gửi hết 27 giây, như vậy tốc độ gửi file 5.67mb/s. • 1 file 150mb gửi hết 24 giây, như vậy tốc độ gửi file 6.25mb/s. • 1 file 977mb gửi hết 2 phút 24 giây, như vậy tốc độ gửi file 6.8mb/s.
Hình 3.2: Biểu đồ thể hiện tốc độ gửi dữ liệu trong cơ chế TCP
Tốc độ gửi file của cơ chế TCP là rất nhanh, và tuyệt đối an toàn, nhưng mỗi lần gửi file thì Server chỉ gửi cho được 1 Client, sau khi gửi xong Client này thì mới tiếp tục gửi file cho Client tiếp theo. Cơ chế gửi TCP cũng bị ảnh hưởng bởi tốc độ của đường chuyền internet và số lượng file.
Cập nhật thời gian hiển thị cho các Client rất nhanh với 1s là các Client nhận
được tín hiệu để hiển thị. Với cơ chế UDP trong quá trình truyền tải có xảy ra
thiếu file nhưng ngay sau đó đã được truyền lại bằng cơ chế TCP nên các Client nhận dữ liệu đầy đủ, không bị lỗi trong quá trình nhận và hiển thị dữ liệu tốt.
Tốc độ truyền dữ liệu trong cơ chế UDP tương đối chậm, với tốc độ trung bình trong quá trình test thử nghiệm vào khoảng 72kb/s, TCP 6mb/s. tốc độ gửi file bị ảnh hưởng bởi băng thông của mạng và không phụ thuộc vào cấu hình của máy
tính chạy chương trình, ngoài ra nó cũng bị ảnh hưởng bởi số lượng file được gửi đi.
3.2.2, Mạng Wireless
¾TCP
• 1 file 11.6mb gửi hết 5 giây, như vậy tốc độ gửi file 2.32mb/s. • 5 file 58.4 gửi hết 42 giây, như vậy tốc độ gửi file 1.39mb/s.
• 10 file 116mb gửi hết 2 phút 1 giây, như vậy tốc độ gửi file 0.96mb/s. • 15 file 175mb gửi hết 3 phút 13 giây, như vậy tốc độ gửi file 0.91mb/s. • 20 file 233mb gửi hết 3 phút 57 giây, như vậy tốc độ gửi file 0.98mb/s. • 25 file 292mb gửi hết 4 phút 46 giây, như vậy tốc độ gửi file 1.03mb/s.
Hình 3.3: Biểu đồ thể hiện tốc độ gửi dữ liệu số lượng file trong cơ chế
TCP
Biểu đồ thể hiện tốc độ gửi file trong mạng Wireless của cơ chế TCP, nhìn vào biểu đồ thì chúng ta biết được tốc độ gửi dữ liệu bị ảnh hưởng bở tốc độ của mạng và số lượng file được gửi đi.
• 1 file 151mb gửi hết 1 phút 42 giây, như vậy tốc độ gửi file 1.48mb/s. • 1 file 349mb gửi hết 3 phút 55 giây, như vậy tốc độ gửi file 1.49mb/s. • 1 file 638mb gửi hết 7 phút 13 giây, như vậy tốc độ gửi file 1.47mb/s. • 1 file 976mb gửi hết 11 phút 05 giây, như vậy tốc độ gửi file 1.48mb/s.
Hình 3.4: Biểu đồ thể hiện tốc độ gửi dữ liệu theo dung lượng trong cơ chế
TCP
Như vậy dựa vào biểu đồ chúng ta có thể thấy được tốc độ gửi file không bị ảnh hưởng bởi dung lượng, tốc độ gửi dữ liệu là tương đương nhau, ngoài ra nó cũng bị ảnh hưởng bởi tốc độ của mạng.
¾UDP
• 5 file 4.42mb gửi hết 1 phút 15 giây, như vậy tốc độ gửi file 60kb/s. • 10 file 8.85mb gửi hết 2 phút 43 giây, như vậy tốc độ gửi file 55kb/s. • 15 file 13.2mb gửi hết 4 phút 39 giây, như vậy tốc độ gửi file 48kb/s. • 20 file 17.7mb gửi hết 6 phút 37 giây, như vậy tốc độ gửi file 45kb/s.
Hình 3.5: tốc độ gửi file trong cơ chế UDP của mạng Wireless
Trong quá trình kiểm tra tốc độ gửi file, các file trong quá trình gửi UDP thì bị thiếu file, nhưng ngay sau đó đã được gửi đi bằng TCP, dữ liệu từ Server đến Client đã được đảm bảo an toán tuyệt đối, kết quả không bị ảnh hưởng, nhưng tốc độ bị ảnh hưởng bởi số lượng file và tốc độ mạng.
3.3. Kết quả chưa đạt được và hướng phát triển
Mặc dù đã hoàn thành được các chức năng cơ bản của đồ án nhưng đồ án vẫn còn mặt hạn chế trong phạm vi nhất định.
Hướng phát triển của đề tài là sử dụng công nghệ nhúng để hiển thị dữ liệu trên các panel hoặc bảng điện tử quảng cáo và cải tiến đồ án phục vụ cho nhiều mục đích khác nhau ngoài mục đích là quảng bá thông tin media qua mạng.
3.4. Tiểu kết
Như vậy chương trình “xây dựng hệ thống quảng bá thông tin media qua mạng” được xây dựng nhằm mục đích giúp các nhà quảng cáo quảng bá thông tin media đến với tất cả mọi người, chương trình này chỉ cần 1 người là có thể quản lý được.
Đề tài tập trung vào nghiên cứu về cách lập trình Unicast, Multicast. Sử dụng trình duyệt web để quảng bá thông tin media. Với yêu cầu chức năng ban đầu được đặt là truyền dữ liệu theo dạng Multicast hay có thể là Unicast từ Server đến Client và hiển thị trên trình duyệt web ở phía Client, người quản lý có thể cập nhật dữ liệu, hay thay đổi thời gian hiển thị của từng file, lưu các thông tin các file đã được gửi đi vào một file log để chúng ta có thể kiểm tra một file nào đó đã được gửi vào thời gian nào, địa chỉ máy là gì và tên của file đó. Chương trình đã đáp ứng được các yêu cầu ban đầu đã đăt ra. Điều này thấy rõ khi người quản lý muốn gửi 1 hoặc nhiều file có các định dạng như video, .tex, .doc, .gif, .mp3 xuống một nhóm các Client có chung một địa chỉ mạng 224.0.0.0 thì sau một khoảng thời gian nhất định nào đó tùy theo tốc độ của đường truyền. Sau đó người quản lý sẽ cập nhật thời gian hiển thị xuống cho nhóm Client dang lắng nghe, sau khi đã nhận được thông báo hiển thị thì phía Client sẽ hiển thị các dữ liệu được gửi xuống cùng với thời gian hiển thị. Nội dung sẽ được lập đi lập lại liên tục.
Hướng phát triển của đề tài là sử dụng công nghệ nhúng để hiển thị dữ liệu trên các panel hoặc bảng điện tử quảng cáo.
Thông qua việc nghiên cứu, đề tài đã cung cấp cho bản thân chúng tôi nhiều kiến thức mới về ngành công nghệ thông tin, để từ đó trong thời gian tới nếu có cơ hội sẽ tiếp tục nghiên cứu và gắn bó với ngành đang ngày càng có triển vọng này.
TÀI LIỆU THAM KHẢO TÀI LIỆU SÁCH
[1] LapTrinhMang-Java: TS. Lê Quốc Định, Trần Đăng Hoan, Khoa Công Nghệ Thông Tin Trường Đại học Hàng Hải.
[2] Giáo Trình Lập Trình Truyền Thông: Ngô Bá Hùng - Nguyễn Công Huy, Khoa Công Nghệ Thông Tin - Đại Học Cần Thơ.
[3] Giáo trình Lập Trình Mạng: Ths.Văn Thiên Hoàng trường đại học Kỹ Thuật Công Nghệ TPHCM.
TÀI LIỆU INTERNET
[4] http://vnexperts.khaigiang.vn/xem-tai-lieu-bai-giang-ky-thaut-lap-trinh- c-c-.1272.html [5] http://vntelecom.org/diendan/content.php?r=18-IP-Multicast-Group- security [6] http://ipv6.com/articles/general/Top-10-Features-that-make-IPv6- greater-than-IPv4-Part7.htm [7] http://yinyangit.wordpress.com/2011/06/07/networking-basic-concepts/ [8] Lập trình socket với TCP: http://www.ddth.com/showthread.php/32546-TUT-JAVA- L%E1%BA%ADp-tr%C3%ACnh-TCP-Socket?s= 9daf34fe7c23faa7428bde4c8906b7ab.
[9] Internet Programming with Java: Course:
http://www.nakov.com/inetjava/ lectures/part-1-sockets/InetJava-1.5- UDP-and-Multicast-Sockets.html
[10] http://it-tuts.com/java/y-nghia-cua-cac-package-trong-java.html
[11] Multicast in Java: http://www.roseindia.net/java/example/java/net/udp/ multicast.shtml
[12] Multicasting in Java:
http://www.javaspecialists.eu/archive/Issue028.html
[13] Multicasting Images with Java:http://www.fun2code.de/articles/ multicast_ images _java/ multicast_images_java.html
MỤC LỤC Trang phụ bìa Lời cám ơn Mục lục Danh mục viết tắt Danh mục bảng và hình PHẦN MỞ ĐẦU... 1
CHƯƠNG I: TỔNG QUAN ĐỀ TÀI ... 9
1.1 Tổng quan về lập trình mạng ... 9
1.1.1, Khái niệm lập trình mạng [1] ... 9
1.1.2, Phân loại mạng theo quy mô [1] ... 9
1.1.3 Giao Thức Mạng ... 10
1.1.3.1, Giao Thức TCP/IP [4] ... 10
1.1.3.2, Giao thức TCP và UDP [ 4 ] ... 12
1.1.4, Giao tiếp theo mô hình khách/chủ (Client/Server) [ 4 ] ... 13
1.1.5, Lập trình mạng thông qua Socket... 13
1.2 Tổng quan về ngôn ngữ lập trình Java... 15
1.2.1, Lịch sử Java [4] ... 15
1.2.2, Cấu trúc của Java [4] ... 16
1.2.3, Các đặc tính chính của Java [4]... 19
1.2.3.1, An ninh [4]... 19
1.2.3.2, Giao diện lập trình ứng dụng chuẩn - Core API [4] ... 20
1.2.3.3, Tương thích với nhiều kiểu phần cứng [4] ... 20
1.2.3.5, Hướng đối tượng [4] ... 21
1.2.3.6, Đa luồng (multi-threads) [4] ... 21
1.2.3.7, Quản lý bộ nhớ và quá trình thu dọn 'rác' [4] ... 21
1.2.4, Các thành phần cơ bản của ngôn ngữ lập trình java [4]... 22
1.2.5, Một số gói lập trình mạng trong Java... 22
1.2.5.1, Định nghĩa [4] ... 22
1.2.5.2, Một số lớp của gói thư viện java.net [4]... 23
1.3. Tổng quan về Unicast, Multicast... 31
1.3.1, Khái niệm Unicast [5] ... 31
1.3.2, Khái niệm Multicast [5] [6][7] ... 33
1.4. Tiểu kết ... 35
CHƯƠNG II: XÂY DỰNG CHƯƠNG TRÌNH... 36
2.1. Phân tích các các chức năng của chương trình... 36
2.1.1, Chức năng của Client ... 36
2.1.2, Chức năng của Server... 37
2.2. Mô hình xử lý của chương trình ... 37
2.2.1, Mô hình xử lý của server... 37
2.2.2, Mô hình xử lý Client ... 41
2.3, Xác định các gói thư viện sẽ sử dụng ... 41
2.3.1, Gói java.net ... 41
2.3.2, Gói java.io ... 42
2.3.3, Gói java.util ... 42
2.3.4, Gói java.text ... 43
2.3.6, Gói java.nio ... 43
2.4, Xây dựng chương trình... 44
2.4.1, ClientServer... 44
2.4.2, UDPClient ... 45
2.4.3, UDPServer... 46
2.5. Giao diện của chương trình... 47
2.6. Tiểu kết ... 50
CHƯƠNG III: KẾT QUẢ ĐẠT ĐƯỢC ... 51
3.1. Kết quả đạt được... 51
3.2 Kết quả thử nghiệm... 51
3.2.1, Mạng LAN ... 51
3.2.2, Mạng Wireless... 54
3.3. Kết quả chưa đạt được và hướng phát triển... 56
3.4. Tiểu kết ... 56 TÀI LIỆU THAM KHẢO