CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự...

48
ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT-HÀN ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐIỀU KHIỂN MÁY TÍNH QUA MẠNG LAN Sinh viên thực hiện : NGUYỄN VĂN CHIẾN : HỒ VĂN TRUNG Lớp : 18IT4 Giáo viên hướng dẫn : ThS. TRẦN ĐÌNH SƠN

Transcript of CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự...

Page 1: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

ĐẠI HỌC ĐÀ NẴNG

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

VIỆT-HÀN

ĐỒ ÁN CƠ SỞ 4

ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐIỀU KHIỂN

MÁY TÍNH QUA MẠNG LAN

Sinh viên thực hiện : NGUYỄN VĂN CHIẾN : HỒ VĂN TRUNG

Lớp : 18IT4

Giáo viên hướng dẫn : ThS. TRẦN ĐÌNH SƠN

Đà nẵng, ngày…, tháng…, năm 2020

Page 2: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

…………………………………………………………………………………………………

Đà Nẵng, ngày,…..tháng,…..năm 2020.

Chữ kí GVHD

ThS.Trần Đình Sơn

Page 3: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

LỜI CẢM ƠN

Lời đầu tiên em xin gửi lời cảm ơn chân thành đến thầy ThS.Trần Đình Sơn.

Trong quá trình học tập và hoàn thiện đồ án cơ sở 4 nhóm chúng em đã nhận được sự

quan tâm giúp đỡ, hướng dẫn tâm huyết của thầy. Thầy đã giúp chúng em tích lũy

thêm nhiều kiến thức để có cái nhìn sâu sắc và hoàn thiện hơn trong cuộc sống.

Page 4: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

PHỤ LỤCLỜI CẢM ƠN...............................................................................................................3

MỞ ĐẦU........................................................................................................................7

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT............................................................................9

1.1 Công cụ thực hiện................................................................................................91.1.1 NetBeans IDE................................................................................................91.1.2 Tính năng chính của NetBeans IDE............................................................9

1.2 Ngôn ngữ được sử dụng....................................................................................10

1.2.1 Ngôn ngữ Java.............................................................................................10

1.2.2 Các tính năng của ngôn ngữ Java.............................................................10

1.2.3 Ứng dụng của ngôn ngữ Java....................................................................11

1.3 Công nghệ hướng đối tượng.............................................................................12

1.3.1 Các nguyên lý cơ bản cấu hướng đối tượng.............................................12

1.3.2 Các ưu điẻm của lập trình hướng đối tượng............................................13

1.4 Giao thức được sử dụng....................................................................................13

1.4.1 Cách hoạt động của giao thức TCP/IP......................................................14

1.4.2 Các tầng của TCP/IP..................................................................................14

1.4.2 Ưu điểm của TCP/IP..................................................................................15

1.5 Socket..................................................................................................................16

1.5.1 Socket là gì ?................................................................................................16

1.5.2 Nguyên lý hoạt dộng Socket.......................................................................16

1.5.3 Phân loại Socket..........................................................................................16

1.6 Gói giao diện Java Swing..................................................................................17

1.6.1 JavaSwing là gì?..........................................................................................17

1.6.2 Ứng dụng của Java Swing..........................................................................18

1.7 Mạng LAN.........................................................................................................18

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG.............................................19

2.1 Phân tích Use Case............................................................................................19

2.1.1 Đối tượng sử dụng (Actor) ........................................................................19

2.1.2 Biểu đồ Use Case.........................................................................................19

2.2 Đặc tả các trường hợp sử dụng Use Case.......................................................20

2.2.1 Đặc tả Use Case điều khiển máy client.....................................................20

Page 5: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

2.2.2 Đặc tả Use Case chat client - server..........................................................20

2.2.3 Đặc tả Use Case theo dõi công việc client.................................................20

2.2.4 Đặc tả Use Case gửi tệp tin, hình ảnh.......................................................20

2.3 Biểu đồ tuần tự..................................................................................................21

2.3.1 Biểu đồ tuần tự remote desktop.................................................................21

2.3.2 Biểu đồ tuần tự gửi tệp tin.........................................................................22

2.3.2 Biểu đồ tuần tự gửi tin nhắn......................................................................23

2.4 Thiết kế giao diện client – server.....................................................................24

2.4.1 Phía client...................................................................................................24

2.4.2 Phía server..................................................................................................25

CHƯƠNG 3: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG.........................................27

3.1 Giao diện quản lý các chức năng.....................................................................27

3.1.1 Giao diện chính...........................................................................................27

3.1.2 Giao diện chat client – server.....................................................................28

3.1.3 Giao diện Remote máy client.....................................................................29

3.1.4 Giao diện gửi tệp tin...................................................................................30

3.1.5 Giao diện mở cmd máy client....................................................................31

3.2 Giao diện máy client..........................................................................................32

KẾT LUẬN.................................................................................................................33

1 Kết quả đạt được..................................................................................................33

2 Hướng phát triển đề tài.......................................................................................33

TÀI LIÊU THAM KHẢO..........................................................................................34

5

Page 6: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

DANH MỤC HÌNH ẢNH

Hình 1 : Logo java......................................................................................................10Hình 2: Các tầng trong TCP/IP.................................................................................15Hình 3: Quy trình kết nối Stream Socket.................................................................16Hình 4 : Sơ đồ Use Case.............................................................................................19Hình 5 :Biểu đồ tuần tự remote desktop..................................................................21Hình 6: Biểu đồ tuần tự gửi tệp tin...........................................................................22Hình 7 : Biểu đồ tuân tự gửi tin nhắn.......................................................................23Hình 8: Thiết kế giao diện client...............................................................................24Hình 9 : Thiết kế giao diện chat với server..............................................................24Hình 10:Thiết kế giao diện quản lý chức năng server.............................................25Hình 11:Thiết kế giao diện điwwù khiển màn hình client......................................26Hình 12: Thiết kế giao diện gửi tệp tin.....................................................................26Hình 13: Giao diện quản lý chức năng server..........................................................27Hình 14: Giao diện chat client - server.....................................................................28Hình 15: Giao diện remote desktop máy client........................................................29Hình 16: Giao diện gửi tệp tin...................................................................................30Hình 17:Giao diện mở cmd của client......................................................................31Hình 18:Gíao diện máy client....................................................................................32

6

Page 7: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

MỞ ĐẦU

Công nghệ thông tin trong giai đoạn hiện nay đang có những bước phát triển

như vũ bão trên mọi lĩnh vực hoạt động ở khắp nơi trên toàn thế giới, điều xảy ra

trong vài năm vừa qua ở Việt Nam là sự đầu tư ồ ạt vào công nghệ. Tin học đã và

đang là một trong những vấn đề không thể thiếu đối với bất kì một tổ chức, công ty

nào. Đặc biệt tin học ngày càng có vai trò quan trọng trong vấn đề quản lý tại các cơ

quan, tổ chức nhất là trong lĩnh vực thu thập thông tin. Đối với Việt Nam tuy công

nghệ thông tin mới chỉ phát triển trong vòng vài năm trở lại đây và đang từng bước

phát triển nhưng những bước phát triển đó đã cho thấy Việt Nam là nước có tiềm năng

về lĩnh vực công nghệ thông tin. Công nghệ ngày càng hiện đại và đã được áp dụng

vào nhiều lĩnh vực như kinh tế, chính trị, xã hội và đời sống của con người. Một trong

những công nghệ tiêu biểu trong việc phát triển công nghệ mà phải kể đến đó là ứng

dụng công nghệ thông tin trong các lĩnh vực của cuộc sống. Nhờ có công nghệ thông

tin mà nó đã giúp nâng cao chất lượng công việc, tiết kiệm thời gian và chi phí vận

hành.

Hiện nay, hầu hết tất cả các lĩnh vực của đời sống xã hội như giáo dục, y tế,

kinh tế, chính trị,…, từ doanh nghiệp nhỏ đến các công ty lớn đều sử dụng máy tính

để ứng dụng công nghệ thông tin nhằm mục đích nâng cao năng suất, hiệu quả trong

việc quản lý. Tuy nhiên trong quá trình sử dụng khi máy tính bị lỗi phần mềm hay

cài đặt thêm phần mềm và hướng dẫn khách hàng sử dụng phần mềm,…, các nhân

viên bảo trì hay người hướng dẫn phải đến trực tiếp để xử lý.

Xuất phát từ nhu cầu thực tế đó, nhóm chúng em nghiên cứu và xây dựng

chương trình điều khiển máy tính qua mạng LAN nhằm giúp các nhân viên bảo trì hay

người hướng dẫn sử dụng gián tiếp khắc phục các lỗi trên thiết bị người dùng thông

qua ứng dụng.

7

Page 8: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

Ứng dụng xây dựng được có các chức năng cơ bản sau:

+ Điều khiển một hoặc nhiều máy tính (client) thông qua máy chủ

server.

+ Server có thể chat với máy client và ngược lại.

+ Server có thể theo dõi client thực hiện công việc.

+ Server có thể gửi gói tin hoặc truyền tập tin đến client.

+ Server có thể mở command prompt và thực hiện lệnh cơ bản trên hệ

điều hành WINDOWS.

8

Page 9: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Công cụ thực hiện.

1.1.1 NetBeans IDE.

NetBeans IDE là một công cụ hỗ trợ lập trình viết mã code miễn phí được cho

là tốt nhất hiện nay, được sử dụng chủ yếu cho các lập trình viên phát triển Java tuy

nhiên phần mềm có dung lượng khá là nặng dành cho các máy cấu hình có RAM,

CPU tương đối cao để vận hành.NetBeans IDE là môi trường phát triển tích hợp và

cực kỳ cần thiết cho các lập trình viên, công cụ này có thể hoạt động tốt với rất nhiều

nền tảng hệ điều hành khác nhau như Linux, Windows, MacOS,... là một mã nguồn

mở cung cấp các tính năng cần thiết nhất nhăm tại ra các ứng dụng web, thiết bị di

động, desktop.

Để có thể cài đặt được NetBeans IDE  phải cài đặt và cấu hình sẵn JDK trong

máy thì mới cài đặt được. NetBean IDE được chia thành nhiều gói khác nhau để người

dùng có thể tải về từng phần, tiết kiệm dung lượng, tùy theo nhu cầu của mình.

Giống với Notepad++, NetBean IDE có gợi ý cú pháp khá tốt, và còn nhiều

tính năng khá thú vị như tự động căn chỉnh mã nguồn, Remote FTP, SVN …. Chính

vì thế, nó được xem là môi trường phát triển không thể bỏ qua cho các lập trình viên.

1.1.2 Tính năng chính của NetBeans IDE.

Các tính năn của netbeans IDE :

+ Hỗ trợ nhiều loại ngôn ngữ lập trình.

+ Chỉnh sửa mã nguồn thông minh.

+ Giao diện trực quan, dễ thao tác, sử dụng.

+ Là một công cụ lập trình phần mềm máy tính hoặc phần mềm trên các

thiết bị di động.

+ Gỡ lỗi mạng nội bộ và từ xa.

+ Thử nghiệm tính năng xây dựng giao diện đồ họa.

+ Tính năng QuickSearch (Tìm kiếm nhanh), tự động biên dịch, hỗ trợ

các Framework cho website, trình ứng dụng máy chủ GlassFish và cơ sở

dữ liệu.

9

Page 10: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

1.2 Ngôn ngữ được sử dụng.

1.2.1 Ngôn ngữ Java.

Hình 1 : Logo java

Java là một một ngôn ngữ lập trình hiện đại, bậc cao, hướng đối tượng, bảo

mật và mạnh mẽ. và là một Platform. Platform là bất cứ môi trường phần cứng hoặc

phần mềm nào mà trong đó có một chương trình chạy, thì được hiểu như là một

Platform. Với môi trường runtime riêng cho mình (JRE) và API, Java được gọi là

Platform.

Ngôn ngữ lập trình Java ban đầu được phát triển bởi Sun Microsystems do James

Gosling khởi xướng và phát hành vào năm 1995. Phiên bản mới nhất của Java

Standard Edition là Java SE 8. Với sự tiến bộ của Java và sự phổ biến rộng rãi của

nó, nhiều cấu hình đã được xây dựng để phù hợp với nhiều loại nền tảng khác nhau.

Các phiên bản J2 mới đã được đổi tên thành Java SE, Java EE và Java ME. Phương

châm của java là "Write Once, Run Anywhere" - viết một lần chạy nhiều nơi, nghĩa

là bạn chỉ cần viết một lần trên window chẳng hạn, sau đó vẫn chương trình đó bạn

có thể chạy trên Linux, Android, các thiết bị J2ME...

1.2.2 Các tính năng của ngôn ngữ Java.

Hướng đối tượng - Trong Java, mọi thứ đều là một Object. Java có thể dễ

dàng mở rộng và bảo trì vì nó được xây dựng dựa trên mô hình Object.

Nền tảng độc lập - Không giống nhiều ngôn ngữ lập trình khác bao gồm cả C

và C ++, khi Java được biên dịch, nó không được biên dịch thành ngôn ngữ máy nền

10

Page 11: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

tảng cụ thể, thay vào mã byte - nền tảng độc lập. Mã byte này được thông dịch bởi

máy ảo (JVM) trên nền tảng nào đó mà nó đang chạy.

Đơn giản - Java được thiết kế để dễ học. Nếu bạn hiểu khái niệm cơ bản về

OOP Java, sẽ rất dễ để trở thành master về java.

Bảo mật - Với tính năng an toàn của Java, nó cho phép phát triển các hệ thống

không có virut, giả mạo. Các kỹ thuật xác thực dựa trên mã hoá khóa công khai.

Kiến trúc - trung lập - Trình biên dịch Java tạo ra định dạng tệp đối tượng kiến trúc

trung lập, làm cho mã biên dịch được thực thi trên nhiều bộ vi xử lý, với sự hiện diện

của hệ điều hành Java.

Portable - Là kiến trúc tập trung và không có khía cạnh thực hiện phụ thuộc

của đặc tả này làm cho Java khả chuyển. Trình biên dịch trong Java được viết bằng

ANSI C, đó là một tập con POSIX.

Mạnh mẽ - Java làm nỗ lực để loại trừ các tình huống dễ bị lỗi bằng cách kiểm

tra lỗi tại thời gian biên dịch và kiểm tra lỗi tại runtime.

Đa luồng - Với tính năng đa luồng của Java có thể viết các chương trình có thể

thực hiện nhiều tác vụ đồng thời. Tính năng thiết kế này cho phép các nhà phát triển

xây dựng các ứng dụng tương tác có thể chạy trơn tru hơn.

Thông dịch - Mã byte Java được dịch trực tiếp tới các máy tính gốc và không

được lưu trữ ở bất cứ đâu.

Hiệu năng cao - Với việc sử dụng trình biên dịch Just-In-Time, Java cho phép

thực hiện hiệu năng cao.

Phân tán - Java được thiết kế cho môi trường phân tán của Internet.

Năng động - Java là năng động hơn C hoặc C++ vì nó được thiết kế để thích

nghi với môi trường đang phát triển. Các chương trình Java có thể mang một lượng

lớn thông tin tại runtime mà có thể được sử dụng để xác minh và giải quyết các truy

cập vào các đối tượng tại runtime.

1.2.3 Ứng dụng của ngôn ngữ Java.

Java đã được sử dụng trong các lĩnh vực khác nhau.

+ Desktop App như acrobat reader, media player, antivirus, ...

+ Web App như irctc.co.in, javatpoint.com, ...

+ Enterprise App như các ứng dụng về xử lý nghiệp vụ ngân hàng, ...

11

Page 12: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

+ Thiết bị Mobile như các ứng dụng Android.

1.3 Công nghệ hướng đối tượng.

Lập trình hướng đối tượng (OOP) là một kỹ thuật lập trình cho phép lập trình

viên tạo ra các đối tượng trong code trừu tượng hóa các đối tượng.

1.3.1 Các nguyên lý cơ bản cấu hướng đối tượng.

1.3.1.1 Tính đóng gói (Encapsulation).

Các dữ liệu và phương thức có liên quan với nhau được đóng gói thành các lớp

để tiện cho việc quản lý và sử dụng. Tức là mỗi lớp được xây dựng để thực hiện một

nhóm chức năng đặc trưng của riêng lớp đó.

Ngoài ra, đóng gói còn để che giấu một số thông tin và chi tiết cài đặt nội bộ để bên

ngoài không thể nhìn thấy.

1.3.1.2 Tính kế thừa (Inheritance).

Nó cho phép xây dựng một lớp mới dựa trên các định nghĩa của lớp đã có. Có

nghĩa là lớp cha có thể chia sẻ dữ liệu và phương thức cho các lớp con. Các lớp con

khỏi phải định nghĩa lại, ngoài ra có thể mở rộng các thành phần kế thừa và bổ sung

thêm các thành phần mới. Tái sử dụng mã nguồn 1 cách tối ưu, tận dụng được mã

nguồn. Một số loại kế loại kế thừa thường gặp: đơn kế thừa, đa kế thừa, kế thừa đa

cấp, kế thừa thứ bậc.

Khi bắt đầu xây dựng ứng dụng chúng ta sẻ bắt đầu thiết kế định nghĩa các lớp

trước. Thông thường một số lớp có quan hệ với những lớp khác, chúng có những đặc

tính giống nhau.

Mỗi lớp đều đại diện cho một loại smartphone khác nhau nhưng lại có những

thuộc tính giống nhau như gọi điện, nhắn tin, chụp hình. Thay vì sao chép những

thuộc tính này, ta nên đặt chúng vào một lớp chung gọi là lớp cha. Chúng ta có thể

định nghĩa lớp cha trong trường hợp này là Smartphone và có những lớp con kế thừa

từ nó, tạo ra một mối quan hệ cha/con.

12

Page 13: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

1.3.1.3 Tính đa hình (Polymorphism).

Tính đa hình là một hành động có thể được thực hiện bằng nhiều cách khác

nhau. Đây lại là một tính chất có thể nói là chứa đựng hầu hết sức mạnh của lập trình

hướng đối tượng.

Hiểu một cách đơn giản hơn: Đa hình là khái niệm mà hai hoặc nhiều lớp có những

phương thức giống nhau nhưng có thể thực thi theo những cách thức khác nhau.

1.3.1.4 Tính trừu tượng (Abstraction).

Trừu tượng có nghĩ là tổng quát hóa một cái gì đó lên, không cần chú ý chi tiết

bên trong. trong lập trình OOP, tính trừu tượng nghĩa là chọn ra các thuộc tính,

phương thức của đối tượng cần cho việc giải quyết bài toán đang lập trình.

1.3.2 Các ưu điẻm của lập trình hướng đối tượng.

Dựa trên nguyên lý kế thừa, trong quá trình mô tả các lớp có thể loại bỏ những

chương trình bị lặp, dư. Và có thể mở rộng khả năng sử dụng các lớp mà không cần

thực hiện lại. Tối ưu và tái sử dụng code hiệu quả.

Đảm bảo rút ngắn thời gian xây dựng hệ thống và tăng năng suất thực hiện.

1.4 Giao thức được sử dụng.

TCP/IP hoặc Transmission Control Protocol/Internet Protocol (Giao thức điều

khiển truyền vận/giao thức mạng) là một bộ các giao thức trao đổi thông tin được sử

dụng để kết nối các thiết bị mạng trên Internet. TCP/IP có thể được sử dụng như là

một giao thức trao đổi thông tin trong một mạng riêng (intranet hoặc extranet).

Toàn bộ bộ giao thức Internet - một tập hợp các quy tắc và thủ tục - thường được gọi

là TCP/IP, mặc dù trong bộ cũng có các giao thức khác.

TCP/IP chỉ định cách dữ liệu được trao đổi qua Internet bằng cách cung cấp

thông tin trao đổi đầu cuối nhằm mục đích xác định cách thức nó được chia thành các

gói, được gắn địa chỉ, vận chuyển, định tuyến và nhận ở điểm đến. TCP/IP không yêu

cầu quản lý nhiều và nó được thiết kế để khiến mạng đáng tin cậy hơn với khả năng

phục hồi tự động.

Có hai giao thức mạng chính trong bộ giao thức mạng phục vụ các chức năng

cụ thể. TCP xác định cách các ứng dụng tạo kênh giao tiếp trong mạng. Ngoài ra, nó

13

Page 14: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

cũng quản lý cách các tin được phân thành các gói nhỏ trước khi được chuyển qua

Internet và được tập hợp lại theo đúng thứ tự tại địa chỉ đến.

IP xác định cách gán địa chỉ và định tuyến từng gói để đảm bảo nó đến đúng

nơi. Mỗi gateway trên mạng kiểm tra địa chỉ IP này để xác định nơi chuyển tiếp tin

nhắn.

1.4.1 Cách hoạt động của giao thức TCP/IP.

TCP/IP sử dụng mô hình giao tiếp máy khách/máy chủ, trong đó người dùng

hoặc thiết bị (máy khách) được một máy tính khác (máy chủ) cung cấp một dịch vụ

(giống như gửi một trang web) trong mạng.

Nói chung, bộ giao thức TCP/IP được phân loại là không có trạng thái, có nghĩa là

mỗi yêu cầu của máy khách được xem là mới bởi vì nó không liên quan đến yêu cầu

trước. Việc không có trạng thái này giúp giải phóng đường mạng, do đó chúng có thể

được sử dụng liên tục.

Tuy nhiên, tầng vận chuyển lại có trạng thái. Nó truyền một tin nhắn duy nhất

và kết nối của nó vẫn giữ nguyên cho đến khi nhận được tất cả các gói trong tin nhắn

và tập trung tại điểm đến.

1.4.2 Các tầng của TCP/IP.

TCP/IP được chia thành bốn tầng, mỗi tầng bao gồm các giao thức cụ thể :

Tầng ứng dụng: Cung cấp các ứng dụng với trao đổi dữ liệu được chuẩn hóa.

Các giao thức của nó bao gồm Giao thức truyền tải siêu văn bản (HTTP), Giao thức

truyền tập tin (File Transfer Protocol - FTP), Giao thức POP3, Giao thức truyền tải

thư tín đơn giản (Simple Mail Transfer Protocol - SMTP) và Giao thức quản lý mạng

đơn giản (Simple Network Management Protocol - SNMP).

Tầng giao vận: Chịu trách nhiệm duy trì liên lạc đầu cuối trên toàn mạng. TCP

xử lý thông tin liên lạc giữa các máy chủ và cung cấp điều khiển luồng, ghép kênh và

độ tin cậy. Các giao thức giao vận gồm giao thức TCP và giao thức UDP (User

Datagram Protocol), đôi khi được sử dụng thay thế cho TCP với mục đích đặc biệt.

Tầng mạng: Còn được gọi là tầng Internet, có nhiệm vụ xử lý các gói và kết

nối các mạng độc lập để vận chuyển các gói dữ liệu qua các ranh giới mạng. Các giao

thức tầng mạng gồm IP và ICMP (Internet Control Message Protocol), được sử dụng

để báo cáo lỗi.

14

Page 15: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

Tầng vật lý: Bao gồm các giao thức chỉ hoạt động trên một liên kết - thành

phần mạng kết nối các nút hoặc các máy chủ trong mạng. Các giao thức trong lớp này

bao gồm Ethernet cho mạng cục bộ (LAN) và Giao thức phân giải địa chỉ (Address

Resolution Protocol - ARP).

Hình 2 Các tầng trong TCP/IP

1.4.2 Ưu điểm của TCP/IP.

TCP/IP không thuộc và chịu sự kiểm soát của bất kỳ công ty nào, do đó bộ giao

thức mạng này có thể dễ dàng sửa đổi. Nó tương thích với tất cả các hệ điều hành, vì

vậy có thể giao tiếp với các hệ thống khác. Ngoài ra, nó còn tương thích với tất các

các loại phần cứng máy tính và mạng.

TCP/IP có khả năng mở rộng cao và như một giao thức có thể định tuyến, nó

có thể xác định đường dẫn hiệu quả nhất thông qua mạng.

15

Page 16: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

1.5 Socket.

1.5.1 Socket là gì ?

Socket là điểm cuối end-point trong liên kết truyền thông hai chiều (two-way

communication) biểu diễn kết nối giữa Client – Server. Các lớp Socket được ràng

buộc với một cổng port (thể hiện là một con số cụ thể) để các tầng TCP (TCP Layer)

có thể định danh ứng dụng mà dữ liệu sẽ được gửi tới.

1.5.2 Nguyên lý hoạt dộng Socket.

Socket kết nối giữa client và server thông qua TCP/IP và UDP để truyền và

nhận giữ liệu qua Internet. Giao diện lập trình ứng dụng mạng này chỉ có thể hoạt

động khi đã có thông tin về thông số IP và số hiệu cổng của 2 ứng dụng cần trao đổi

dữ liệu cho nhau.Hai ứng dụng cần truyền thông tin phải đáp ứng điều kiện sau thì

socket mới có thể hoạt động:

+ 2 ứng dụng có thể nằm cùng trên một máy hoặc 2 máy khác nhau.

+ Trong trường hợp 2 ứng dụng cùng nằm trên một máy, số hiệu cổng không

được trùng nhau.

1.5.3 Phân loại Socket.

Socket được chia làm 4 phân loại khác nhau:

Stream Socket : Hay còn gọi là socket hướng kết nối, là socket hoạt động

thông qua giao thức TCP (Transmission Control Protocol). Chỉ hoạt động khi server

và client kết nối được với nhau.

Hình 3:Quy trình kết nối Stream Socket.

16

Page 17: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

Datagram Socket: Datagram Socket hay còn gọi là socket không hướng kết

nối, là socket hoạt động thông qua giao thức UDP ( User Datagram Protocol).

Datagram Socket có thể hoạt động kể cả khi không có sự thiết lập kết nối giữa 2 máy

với nhau. 

Websocket: Websocket là công cụ hỗ trợ việc kết nối qua lại trên internet giữa

client và server. Giúp diễn ra nhanh chóng và hiệu quả hơn thông qua việc sử

dụng TCP socket. Không chỉ sử dụng riêng cho ứng dụng web, Websocket có thể áp

dụng cho bất kì ứng dụng nào khác cần có sự trao đổi thông tin trên Internet.

Unix socket : Unix socket là điểm giao tiếp hỗ trợ trao đổi giữa các ứng dụng

khác nhau ngay trên cùng máy tính. Mọi hoạt động Unix socket diễn ra ngay ở nhân

của hệ điều hành. Nhờ vậy, tốc độ kết nối và truyền tải giữa các ứng dụng nhanh, nhẹ

và hiệu quả hơn. Unix socket có thể tránh được các bước kiểm tra hoặc routing. Vì thế

mà quá trình truyền tin sẻ đảm bảo và dễ dàng hơn.

1.6 Gói giao diện Java Swing.

1.6.1 JavaSwing là gì?

Java Swing là một phần của Java Foundation Classes (JFC) được thiết kế để

cho phép phát triển các ứng dụng Java quy mô lớn cho doanh nghiệp. Nó được xây

dựng dựa trên Abstract Windowing Toolkit (AWT) Application Interface (API) và

được viết bằng Java. Khác với AWT, Java Swing độc lập nền tảng và các thành phần

nhẹ hơn.

JFC là một tập hợp các thành phần giao diện mà được phát triển cho các ứng dụng

Desktop (ứng dụng đơn lẻ trên từng máy).

Java Swing hoặc Swing được phát triển dựa trên các API trước đó được gọi là

Bộ công cụ trừu tượng Windows (AWT). Swing cung cấp các thành phần GUI phong

phú và phức tạp hơn AWT. Các thành phần GUI có phạm vi từ một nhãn đơn giản đến

cây và bảng phức tạp. Gói javax.swing cung cấp các lớp cho Java Swing API như

JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser…

Gói javax.swing chứa tập hợp các lớp interface mở rộng và cải tiến các thành phần

của gói java.awt cho phép tạo giao diện đẹp hơn.

17

Page 18: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

Gói javax.swing không thay thế gói java.awt mà được sử dụng đồng thời trong

cùng một giao diện.

Các thành phần của gói javax.swing đều bắt đầu bằng ký tự J như: JButton,

JFrame,...JFrame có cấu trúc nhiều tầng, mỗi tầng tương ứng một Container. Trong

đó, tầng trung gian có tên ContentPane, thường được dùng để chứa các đối tượng hiển

thị trên giao diện.

1.6.2 Ứng dụng của Java Swing.

Swing được sử dụng để xây dựng giao diện người dùng đồ họa (GUI)

trong java.Swing cung cấp một bộ điều khiển nâng cao phong phú như Tree,

TabbedPane, thanh trượt, colorpicker và điều khiển bảng.Các điều khiển xoay

có thể được tùy chỉnh theo một cách rất dễ dàng và độc lập với biểu diễn bên

trong.

1.7 Mạng LAN.

Mạng cục bộ (Local Area Network - LAN) là hệ truyền thông tốc độ cao được

thiết kế để kết nối các máy tính và các thiết bị xử lý dữ liệu khác cùng hoạt động với

nhau trong một khu vực địa lý nhỏ như ở một tầng của toà nhà, hoặc trong một toà

nhà.... Một số mạng LAN có thể kết nối lại với nhau trong một khu làm việc.

Mạng LAN trở nên thông dụng vì nó cho phép người dùng dùng chung những

tài nguyên quan trọng như máy in màu, ổ đĩa CD-ROM, các phần mềm ứng dụng và

những thông tin cần thiết khác. Trước khi phát triển công nghệ LAN các máy tính là

độc lập với nhau, bị hạn chế bởi số lượng các chương trình tiện ích, sau khi kết nối

mạng rõ ràng hiệu quả của chúng tăng lên gấp bội. Để tận dụng hết những ưu điểm

của mạng LAN người ta đã kết nối các LAN riêng biệt vào mạng chính yếu diện rộng

(WAN).

18

Page 19: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 Phân tích Use Case.

2.1.1 Đối tượng sử dụng (Actor) .

- Máy server : Là những thiết bị trực tiếp điền khiển máy khách ( client ) thông

qua địa chỉ IP và Port trong cùng mạng LAN.

- Máy client : Là thiết bị kết nối đến máy server thông qua IP và Port trong

cùng mạng LAN và bị điều khiển từ máy server.

2.1.2 Biểu đồ Use Case.

Hình 4 : Sơ đồ Use Case.

19

Page 20: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

2.2 Đặc tả các trường hợp sử dụng Use Case. 2.2.1 Đặc tả Use Case điều khiển máy client.

Tên Use Case Điều khiển máy clientActor sử dụng Máy server.Dữ liệu vào Client phải kết nối đến server và server phải chọn tên

máy client trên Jtable của ứng dụng.Mô tả Server điều khiển màn hình của máy client, server có

thể thực hiện tất cả các thao tác chuột, bàn phím của client.

Kết quả Điều khiển được máy client.

2.2.2 Đặc tả Use Case chat client - server.

Tên Use Case Chat client- serverActor sử dụng Máy server, máy client.Dữ liệu vào Client phải kết nối đến server và server phải chọn tên

máy client trên Jtable của ứng dụng.Mô tả Server (client) gửi tin nhắn đến client và ngược lại

client có thể gửi tin nhắn đến server.Kết quả Hiển thị tin nhắn từ server (client) gửi đến client

(server).

2.2.3 Đặc tả Use Case theo dõi công việc client.

Tên Use Case Theo dõi công việc clientActor sử dụng Máy server.Dữ liệu vào Client phải kết nối đến server và server phải chọn tên

máy client trên Jtable của ứng dụng.Mô tả Hiển thị màn hình máy client trên máy chủ server.Kết quả Hiển thị màn hình máy client trên máy chủ server.

2.2.4 Đặc tả Use Case gửi tệp tin, hình ảnh.

Tên Use Case Gửi tệp tin, hình ảnhActor sử dụng Máy server.Dữ liệu vào Client phải kết nối đến server và server phải chọn tên

máy client trên Jtable của ứng dụng.Mô tả Server gửi tệp tin (hình ảnh, video, …,) đến client.Kết quả Hiển thị và chọn nơi lưu trên máy client.

20

Page 21: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

2.3 Biểu đồ tuần tự. 2.3.1 Biểu đồ tuần tự remote desktop.

Hình 5 :Biểu đồ tuần tự remote desktop.

21

Page 22: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

2.3.2 Biểu đồ tuần tự gửi tệp tin.

Hình 6: Biểu đồ tuần tự gửi tệp tin.

22

Page 23: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

2.3.2 Biểu đồ tuần tự gửi tin nhắn.

Hình 7 : Biểu đồ tuân tự gửi tin nhắn.

23

Page 24: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

2.4 Thiết kế giao diện client – server. 2.4.1 Phía client. 2.4.1.1 Giao diện quản lý kết nối client.

Thiết kế giao diện quản lý kết nối trên Netbeans gồm các thành phần : các jlable ( ip server, client, date, status,…), các Button (Connect, Cancel).

Hình 8: Thiết kế giao diện client.

2.4.1.2 Giao diện chat với server.

Thiết kế giao diện chat với server trên Netbeans gồm các thành phần :

JtextArea để hiển thị các đoạn text giữa client và server, và jtextArea nhập tin nhắn

gửi đến server và một Button gởi.

Hình 9 : Thiết kế giao diện chat với server.

24

Page 25: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

2.4.2 Phía server. 2.4.2.1 Thiết kế giao diện quản lý chung.

Thiết kế giao diện quản lý server trên Netbeans gồm các thành phần : Jtable để

hiẻn thị thông tin các máy client đã kết nối, các Jbutton (Chat Clent, Gởi thông điệp,

Theo dõi Client, Chụp hình client, Điều khiẻn client, gởi lệnh shel).

Hình 10:Thiết kế giao diện quản lý chức năng server.

25

Page 26: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

2.4.2.2 Thiết kế giao diện điều khiển và theo dõi client.

Thiết kế giao diện điều khiển và theo dõi client trên Netbeans gồm các thành

phần : Jpanel dùng để hiển thị màn hình máy tính client.

Hình 11:Thiết kế giao diện điwwù khiển màn hình client.

2.4.2.3 Thiết kế giao diện chọn và gửi tệp tin.

Thiết kế giao diện gửi tệp tin trên Netbeans gồm các thành phần : Jlable hiển

thị các gợi ý (chọn tệp tin và ấn nút gởi), các Jbutton ( tìm tệp tin và gởi ).

Hình 12: Thiết kế giao diện gửi tệp tin.

CHƯƠNG 3: TRIỂN KHAI XÂY DỰNG ỨNG DỤNG3.1 Giao diện quản lý các chức năng.

26

Page 27: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

3.1.1 Giao diện chính.

Hình 13: Giao diện quản lý chức năng server.

27

Page 28: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

3.1.2 Giao diện chat client – server.

Hình 14: Giao diện chat client - server.

28

Page 29: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

3.1.3 Giao diện Remote máy client.

Hình 15: Giao diện remote desktop máy client.

29

Page 30: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

3.1.4 Giao diện gửi tệp tin.

Hình 16: Giao diện gửi tệp tin.

30

Page 31: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

3.1.5 Giao diện mở cmd máy client.

Hình 17:Giao diện mở cmd của client.

31

Page 32: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

3.2 Giao diện máy client.

Hình 18:Gíao diện máy client.

32

Page 33: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

KẾT LUẬN

1 Kết quả đạt được.

- Đã xây dựng ứng dụng điều khiển máy tính qua mạng LAN gồm các chức

năng cơ bản sau:

+ Phía client:

o Xây dựng giao diện quản lý kết nối với máy chủ server.

o Xây dựng được chức năng chat với máy chủ serer.

+ Phía server.

o Hoàn thành chức năng chat với máy client.

o Hoàn thành chức năng truyền tệp tin.

o Hoàn thành chức năng theo dõi client.

o Hoàn thành chức năng chụp hình client.

o Hoàn thành chức năng điều khiển máy client.

o Hoàn thành chức năng mở và sử dụng cmd trên máy client.

- Giao diện khoa học, thân thiện, dễ sử dụng, lôi cuốn người dùng.

- Tuy nhiên vẫn còn một số hạn chế:

+ Chỉ sử dụng trong môi trường mạng LAN.

+ Không lưu trữ các danh sách máy tính đã kết nối.

+ Chưa hoàn thành việc kết nối với cơ sở dử liệu để lưu trữ tin nhắn và

thông tin máy client.

2 Hướng phát triển đề tài.

Phát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi

kết nối trên toàn cầu.

33

Page 34: CHƯƠNG 1daotao.vku.udn.vn/.../12/1609209071-bao-cao-do-an-4.docx · Web viewPhát triển dự án ra trên môi trường internet nhằm mục đích mở rộng phạm vi kết

TÀI LIÊU THAM KHẢO

[1] Tài liệu tham khảo môn học lập trình mạng của thầy ThS.Lê Thành Công.

Link tài liệu :

https://drive.google.com/drive/folders/16CV2U8DvTCPP6b1xORmERSn19

aTKPnGn .

[2] Các kênh youtube nổi tiếng : code tập sự, JMASTER Trung Tâm Java....

34