


 !"#$%
&!'!()
*+,!'!()
-./)01234
56!70804
Contents
LỜI NÓI ĐẦU..........................................................................................................................................3
CHƯƠNG 1:............................................................................................................................................4
ĐẶT VẤN ĐỀ.......................................................................................................................................4
Chương 2:..............................................................................................................................................5
Nội dung chính...................................................................................................................................5
I. Giới thiệu........................................................................................................................................5
1. Mục +êu.....................................................................................................................................5
2. Công nghệ sử dụng....................................................................................................................5
3. Tính năng chính..........................................................................................................................5
II. Thiết kế hệ thống...........................................................................................................................6
1. Kiến trúc.....................................................................................................................................6
2. Luồng hoạt động........................................................................................................................6
III. CHI TIẾT ĐỒ ÁN.............................................................................................................................6
1.Code và giao diện form FileReceiver...........................................................................................6
2.Code và giao diện form FileSender:............................................................................................9
CHƯƠNG 3: HƯỚNG DẪN SỬ..............................................................................................................14
1. Cài đặt môi trường...................................................................................................................14
2. Thực thi chương trình..............................................................................................................14
3. Lưu ý........................................................................................................................................14
CHƯƠNG 4:..........................................................................................................................................15
KẾT LUẬN.........................................................................................................................................15
1. Kết luận....................................................................................................................................15
2. Hướng phát triển.....................................................................................................................15
-9:;
<!.!5=>=?+@A!B/CDDE!FGH'@IJ
DIKLM2N6DKODIK?>DEPD56DD5!
B=(DQ@,Q7DEPD56D5A>DERS+6!DGRE>,QD>=
?T!DR$.DER$Q@$UV,WSBXD7@Y,PGD7@XBDEZ@[!D<7
\@XD$>R?6'5@W@C@D]@^BW$_DER@C@$`'Q@@a>S+6!
ERbOcd=U.@D>?+@A!B/CDDE!F
DERe!$`'Q@@a>@B6@,f@gUDER$`'Q@^BW$_S+
6!2*6DDERb$`'Q@5C=\?UV@, ch!BXD
$5@C@JDfDIK^BW$_A!@B2&Q/CDDE!F@a>
!D%E%D7!D%E%D?+?U>@RUi!'5R[jB=(S>$6DIKDE(
G2IK^B>G!D%E%D@RUi!@ADFB>kC5
A>7DE>R?T!DIKE6E+!DE(DR5@B2IJ?+DZ@?l=
GH'!J@[>!DC@DIKDE(G'.!\O$!RGD'5
cm, chA2
n'.!,Q/CDDE!F@a>5@IJDIKDoC=\
@5DEP(g!'5DIch'.!@B6@,f@a>@ZD>2W
O!JB^BWpDEVb@I'!J@[A[>'5/]@DG/DER
e!$`'Q@@a>@B6@,fA!@B'5@IDC@^BW$_DER@C@
cR>!J/7@Y^B>A!E!(UkWR"DDIK7S%'5@j
, >DIK6D@C@cmc57!JB^BW'5>@A2+@A
!B/?UV@SX=cQ?F/h@'h@R\@XD/h@DG/
DERe!$`'Q@@a>@B6@,fA!@B'5@IDC@^BW$qDER
@C@cR>!J/'5@C@@Y^B>2
ER,BfD^BCDEoe@D"/7%?+?UV@@C@D=@I!CR@B
@X/'5DEB=?GDb[!<D]@@D!<DDER$`'Q@@IJ
DIK2R5!E>%@r?UV@Es$B=J6DKDe@D"/7$5
'!J@?6@$"/,>DGR2ER[BI[T6D?CIe@cU.!,Q
@jkWRD"t@a>D=@I!CR7@n,Q\@$g=[!<D]@@a>kW
Dd%?+Sd=cQ?D5!u !"#$%vkw@UY
DEox>'>2
yz)
{|}
-qcR@e?D5!
ERDi!?G!@IJDIK/CDDE!FGH7'!J@@!>,~
cb$!JB!b>@C@D!<Dk•$56DB@BD!<D=<BDER?i!,f'5
@I'!J@2C@]ch !'5"#$%U%>!$7RR$%E!'%7>=
€?+DEP(/Tk!<7U@ZDUi=(B@B[<Df!
!D%E%DR•@@XBo/]@DG/2!B5=?•DE>6D'X?)$5D<
5R?FSd=cQ6D]ch?Y!W7[I/hDB6@'5Rc•@
'hk(D]k>75'‚@R/ƒ/DEB=DW!#$%>@A!b>@C@
C=\DER@nG6!k6R•@^B>!D%E%D
.!,Q/Tk!<@a>Ib$"/DEox>'>…6DIbG
H7?6@$"/DW'5pDEVDfD@R$"/DEoG…'!J@/CDDE!F
6D]ch !†"#$%, chx>'>$56D!W!/C/[WD!2
D5!5=[I@j!Z/Ui!e@!FB,dBY'$"/DEoG7!>R
c!JUi!cn75@rDGRE>6D@I@hDQ@D<@ADF]ch
DER!BtBf2
o'"=7DI!^B=<D?•@e?D5!‡ˆch !'5"#$%kw
x>'>‡?F!(@]B'5DE!F[>!7w?C/]B@B@!>,~#$%
6D@C@?Y!W7!JB^BW2
UY0)
6!cB@_
2!.!D!JB
1. Mục êu
‰d=cQ6D]chG?Y!W, chx>'>?F !'5"
#$%!b>>!C=\DI^B>!>RD]@2ˆchk>RŠ)
*C=@aL%@%!'%EM"#$%
*C=[C@L&%c%EM !#$%
!>Rc!J?Še>DdD!J'.!Ui!cn
2. Công nghệ sử dụng
Ib$"/DEo)x>'>
U'!J)x>'>&‹!L;M7x>'>&R@[%DLGM
Œ?SBXD)D%$$!xŒR•@Œ@$!/,%
3. Tính năng chính
e#$%?F !DI^B>!>Rc!J
!FD•DEGDC! !†"#$%
pDEVe!$RG!#$%
‰ $q$p!@YkW
‰C@"[!#$%?UV@"D5@I
2!<D[<JDf
1. Kiến trúc
*C=@aL%@%!'%EM)G=$!(Dh@7@i[<Df!DNC=[C@7
"#$%'5 !SC@"2
*C=[C@L&%c%EM)R/ƒ/Ui!cn@e#$%7 !#$%?<
C=@a'5"/WŠ!2
!>RD]@)& ch,R@[%D'.!$BŠcb$!JB
L>D>/BD&DE%>†>D>BD/BD&DE%>M2
2. Luồng hoạt động
z2 *C=@a[P!?6'5@i[<Df!DE(@Tz03•42
02 *C=[C@[<Df!?<C=@a7@e#$%'5 !2
32 *C=@a"#$%'5$UB'5RDUh@!J52
•2 *C=@a !DIkCRSC@"‡Ž‡'C=[C@2
2•
1.Code và giao diện form FileReceiver
XEB#$%)
2.Code và giao diện form FileSender:
|EB#$%'5Xue'5 !#$%v)
&>B?A@e#$%kXD[o?F !)
5XR/%?F !<B@A$p!,H!JDIkCR)
5 !D5@I,H!Jk>R"u5@Iv)
y3)
•‘&’
1. Cài đặt môi trường
5!?•DxLx>'>%'%$R/%D!DM/!(kW1DEP$(2
& chŒUD%$$!xŒR•@Œ@$!/,%?Fk!(c•@'5@G=2
2. Thực thi chương trình
z2 “!(c•@'5@G=€!$%%@%!'%E2”>'>DEU.@?F[P!?6C=@a2
02 “!(c•@'5@G=€!$%&%c%E2”>'>?F[P!?6C=[C@2
32 E(!>Rc!JC=[C@7XZD‡e'5 !€!$%‡2
•2 e#$%DNC=\'5 !2
42 •B>,CDDEGDC!DE(@W>!!>Rc!J2
3. Lưu ý
!JDG!@UYDEo@G=DE($R@>$R,D2F@G=^B>G7
D>=ŽŽ*–Ž;kw?•>@j@a>C=@a2
WkWR@Tz03•4[Ik•@•kP!#E%‹>$$2
y•)
•-;—
1. Kết luận
ˆch?+R5D5@C@\O@YkW@a>6DJDf
 !†"#$%^B>G)
!>Rc!J?Še>?Y!W7cm, ch
pDEV !e!$RG!#$%
‰ $q$p!@YkW'5SC@"!>Rc•@
2. Hướng phát triển
(\O !!B#$%@n$Z@
*+A>cb$!JB?FDO\kWR"D
pDEVK</Dh@DEB=#$%[!k•!C?RG
(Dn=@e@eDUh@$UB#$%DE(C=@a
•B>?d=%S!?UV@ !$i!@WY?<@C@D=@I!CR
DERDEUi?+D"t!Z/?˜7U.c‚%R5D5
?D5!5=2B=!(cRDEo?6'5[!<D]@@rG™/
(DER@UYDEo[IDEC[š!bD!<B,AD7%
EXDR"?UV@bA/q'5kT,B@a>@C@D='5
@C@kG?F?D5!@a>%?UV@R5D!JY2
Œ‰!d5Wy›

Preview text:

TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

A green and yellow logo Description automatically generated

ĐỒ ÁN ĐIỆN TOÁN DI ĐỘNG

Phần mềm gửi nhận file

Sinh viên:

Mã sinh viên:

Lớp: TH28.35

Hà Nội,2025

Contents

LỜI NÓI ĐẦU 3

CHƯƠNG 1: 4

ĐẶT VẤN ĐỀ 4

Chương 2: 5

Nội dung chính 5

I. Giới thiệu 5

1. Mục tiêu 5

2. Công nghệ sử dụng 6

3. Tính năng chính 6

II. Thiết kế hệ thống 6

1. Kiến trúc 6

2. Luồng hoạt động 6

III. CHI TIẾT ĐỒ ÁN 7

Code và giao diện form FileReceiver 7

Code và giao diện form FileSender: 9

CHƯƠNG 3: HƯỚNG DẪN SỬ 13

1. Cài đặt môi trường 13

2. Thực thi chương trình 13

3. Lưu ý 13

CHƯƠNG 4: 14

KẾT LUẬN 14

1. Kết luận 14

2. Hướng phát triển 14

LỜI NÓI ĐẦU

Thế giới ngày nay đã có nhiều phát triển mạnh mẽ về công nghệ thông tin (CNTT). Từ một tiềm năng thông tin đang trở thành một tài nguyên thực sự, trở thành một hàng hóa trong xã hội tạo ra sự thay đổi to lớn trong lực lượng sản xuất, cơ sở hạ tầng, cấu trúc kinh tế, tính chất lao động và cả cách thức quản lí trong các lĩnh vực của xã hội Trong những năm gần dây nền CNTT nước ta đã có nhiều phát triển trong mọi lĩnh vực của cuộc sống cũng như trong lĩnh vực quản lí xã hội. Một trong những lĩnh vực mà máy tính được sử dụng nhiều nhất là các hệ thống thông tin quản lí nói chung. Sự phát triển của internet,internet đã đưa con người vào kỉ nguyên xa lộ thông tin trên mạng . Thông tin qua mạng internet con người có thể mua bán hàng hóa, trao đổi thông tin rộng rãi trên toàn cầu. Công nghệ đã thúc đẩy mạnh mẽ việc khai thác thông tin trên mạng với tính năng linh hoạt và dễ sử dụng nó.

Cùng với sự phát triển của ngành công nghệ thông tin thì máy tính càng trở nên gần gũi và thông dụng với cuộc sống của chúng ta. Khả năng hiệu quả hỗ trợ những công việc khó khan và phức tạp trong mọi lĩnh vực của cuộc sống nóichung và công tác quản lí trong các doanh nghiệp, cơ quan nói riêng như bảo mật thông tin, xem và chỉnh sửa thông tin một cách dễ dàng, hiệu quả và nhanh chóng. Đã có nhiều phần mềm được xấy dựng để phục vụ cho tính chất phục tạp trong mọi lĩnh vực của cuộc sống nói chung và công tác quản lý trong các doanh nghiệp và các cơ quan.

Trong suốt quá trình học tập, em đã được các thầy cô giáo cung cấp và truyền đạt những kiến thức cần thiết trong lĩnh vực công nghệ thông tin. Ngoài ra em còn được rèn luyện một tinh thần học tập, làm việc độc lập sang tạo. Trong khuôn khổ một đề án môn học dưới sự chỉ bảo tận tình của thầy cô giáo, cùng sự tích lũy kiến thức của bản thân em đã xây dựng đề tài “ Phần mềm gửi nhận file” bằng chương trình Java.

CHƯƠNG 1:

ĐẶT VẤN ĐỀ

Lý do chọn đề tài

Trong thời đại công nghệ thông tin phát triển mạnh mẽ, việc chia sẻ dữ liệu giữa các thiết bị là một nhu cầu thiết yếu trong đời sống và công việc. Các ứng dụng gửi và nhận file như email, Google Drive, hay FTP đã trở nên phổ biến, nhưng chúng thường yêu cầu kết nối internet hoặc cấu hình phức tạp. Điều này đặt ra một vấn đề: làm thế nào để xây dựng một ứng dụng đơn giản, không phụ thuộc vào dịch vụ bên thứ ba, mà vẫn cho phép truyền tải file nhanh chóng giữa các máy tính trong cùng mạng nội bộ hoặc qua internet?

Với sự phổ biến của ngôn ngữ lập trình Java – một ngôn ngữ mạnh mẽ, độc lập nền tảng và hỗ trợ tốt cho lập trình mạng – việc phát triển một ứng dụng gửi/nhận file sử dụng Java là một giải pháp khả thi. Đề tài này không chỉ giúp người học hiểu sâu hơn về lập trình mạng, giao diện người dùng, mà còn tạo ra một công cụ thực tế có thể ứng dụng trong nhiều tình huống.

Vì vậy, tôi quyết định chọn đề tài "Ứng dụng gửi và nhận file bằng Java" để nghiên cứu và triển khai, nhằm đáp ứng nhu cầu chia sẻ file một cách đơn giản, hiệu quả.

Chương 2:

Nội dung chính

I. Giới thiệu

1. Mục tiêu

Xây dựng một ứng dụng mạng đơn giản sử dụng Java để gửi và nhận file giữa hai máy tính thông qua giao thức TCP. Ứng dụng bao gồm:

  • Máy chủ (Receiver) nhận file
  • Máy khách (Sender) gửi file
  • Giao diện đồ họa thân thiện với người dùng

2. Công nghệ sử dụng

  • Ngôn ngữ lập trình: Java
  • Thư viện: Java Swing (GUI), Java Socket (mạng)
  • IDE đề xuất: IntelliJ IDEA hoặc Eclipse

3. Tính năng chính

  • Chọn file để gửi thông qua giao diện
  • Hiển thị trạng thái gửi/nhận file
  • Hỗ trợ mọi loại file
  • Xử lý lỗi cơ bản
  • Xác nhận khi file được nhận thành công

II. Thiết kế hệ thống

1. Kiến trúc

  • Máy chủ (Receiver): Chạy liên tục, chờ kết nối từ máy khách, nhận file và gửi xác nhận.
  • Máy khách (Sender): Cho phép người dùng chọn file, gửi file đến máy chủ và nhận phản hồi.
  • Giao thức: Sử dụng TCP socket với luồng dữ liệu (DataInputStream/DataOutputStream).

2. Luồng hoạt động

  1. Máy chủ khởi động và chờ kết nối trên cổng 12345.
  2. Máy khách kết nối đến máy chủ, chọn file và gửi.
  3. Máy chủ nhận file và lưu vào thư mục hiện hành.
  4. Máy chủ gửi thông báo xác nhận "THÀNH_CÔNG" về máy khách.

III. CHI TIẾT ĐỒ ÁN

1.Code và giao diện form FileReceiver

ấn run file:

2.Code và giao diện form FileSender:

Ấn run file và ấn “ Chọn và gửi file”:

Sau đó chọn file bất kì để gửi :

Và ấn open để gửi nếu có lỗi sẽ hiện thông báo :

Và gửi thành công sẽ hiện Tbao nhận “ Thành công” :

CHƯƠNG 3:
HƯỚNG DẪN SỬ

1. Cài đặt môi trường

  • Cài đặt JDK (Java Development Kit) phiên bản 8 trở lên.
  • Sử dụng IDE như IntelliJ IDEA hoặc Eclipse để biên dịch và chạy.

2. Thực thi chương trình

  1. Biên dịch và chạy FileReceiver.java trước để khởi động máy chủ.
  2. Biên dịch và chạy FileSender.java để khởi động máy khách.
  3. Trên giao diện máy khách, nhấn nút "Chọn và Gửi File".
  4. Chọn file từ máy tính và gửi.
  5. Quan sát trạng thái trên cả hai giao diện.

3. Lưu ý

  • Hiện tại chương trình chạy trên localhost. Để chạy qua mạng, thay DIA_CHI_MAY_CHU bằng địa chỉ IP của máy chủ.
  • Đảm bảo cổng 12345 không bị chặn bởi firewall.

CHƯƠNG 4:

KẾT LUẬN

1. Kết luận

Ứng dụng đã hoàn thành các tính năng cơ bản của một hệ thống gửi/nhận file qua mạng:

  • Giao diện đồ họa đơn giản, dễ sử dụng
  • Hỗ trợ gửi mọi loại file
  • Xử lý lỗi cơ bản và xác nhận giao dịch

2. Hướng phát triển

  • Thêm tính năng gửi nhiều file cùng lúc
  • Mã hóa dữ liệu để tăng tính bảo mật
  • Hỗ trợ tiếp tục truyền file khi bị gián đoạn
  • Thêm tùy chọn chọn thư mục lưu file trên máy chủ

Qua đây em xin được gửi lời cảm ơn đến các thầy cô giáo trong trường đã tận tình giúp đỡ, hướng dẫn em hoàn thành đề tài này. Tuy nhiên do trình độ và kiến thức còn hạn hẹp nên trong chương trình không tránh khỏi những thiếu sót, em rất mong nhận được những góp ý và bổ sung của các thầy và các bạn để đề tài của em được hoàn thiện hơn.

  • Em Xin Chân Thành Cảm Ơn!