TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-236) 3736949, Fax. (84-236) 3842771
Website: E-mail:
BÁO CÁO THỰC HÀNH LẬP TRÌNH MẠNG
SVTH:
Huỳnh Thị Diệu Trâm
Lớp :
15T2
MSSV:
102150138
Nhóm:
15N10B
Đà Nẵng, 01/2019
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
LỜI CẢM ƠN
Lập trình mạng là một kiến thức chuyên ngành quan trọng
của lĩnh vực công nghệ thông tin, đặc biệt là ngành quản trị
mạng. Có thể xem đây là một hướng đi rất rộng mở cho sinh viên
và việc nắm bắt những kĩ thuật cơ bản của nó cực kì cần thiết và
quan trọng.
Sau một loạt các môn học lí thuyết nền tảng như Mạng máy
tính, Lập trình Java, Lập trình mạng, thì học phần Thực hành Lập
trình mạng này chính là hội tụ hiện thực các kiến thức học trên
sách vở.
Nội dung thực hành chủ yếu thực hiện việc lập trình Socket
trên họ giao thức TCP/IP và giao thức UDP trên các ứng dụng viết
bằng ngôn ngữ Java, kết hợp các kĩ thuật lập trình đa luồng, lập
trình web JSP để thực hiện các hạng mục của học phần. Thông
qua các bài thực hành với độ khó tăng dần, sinh viên dần thông
thạo với công việc lập trình và một phần nào đó làm quen kĩ thuật
xây dựng một hệ thống làm việc sao cho hiệu quả.
Mỗi bài thực hành sẽ được chép mã nguồn vào báo cáo cùng
với kết quả chạy thử đính kèm bằng hình ảnh.
Dù đã kiểm tra nhiều lần nhưng trong báo cáo này có thể sẽ
xuất hiện một số lỗi và sai sót, do đó em rất mong đợi sự góp ý từ
các thầy cô.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Huỳnh Thị Diệu
Trâm
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Nhận xét:
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
……………………………………………………………………………
Xác nhận của giảng
viên
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
Mục lục
BÀI THỰC HÀNH SỐ 1 HỌC PHẦN LẬP TRÌNH MẠNG............................................5
I. XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CLIENT/SERVER HOẠT ĐỘNG
THEO GIAO THỨC TCP/IP.........................................................................................5
1.
Yêu cầu..............................................................................................................5
2. Thuật toán.........................................................................................................5
3. Mã nguồn...............................................................................................................5
4. Kết quả...................................................................................................................5
II. XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CLIENT/SERVER HOẠT ĐỘNG
THEO GIAO THỨC TCP/IP.........................................................................................6
1. Yêu cầu................................................................................................................... 6
2.Thuật toán..........................................................................................................6
3.Mã nguồn............................................................................................................6
4.Kết quả................................................................................................................6
III. XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CHAT ROOM CLIENT/SERVER
HOẠT ĐỘNG THEO GIAO THỨC TCP/IP.................................................................7
1.
Yêu cầu...........................................................................................................7
2.
Thuật toán.....................................................................................................7
3.
Mã nguồn.......................................................................................................7
4.
Kết quả...........................................................................................................7
BÀI THỰC HÀNH SỐ 2 HỌC PHẦN LẬP TRÌNH MẠNG............................................9
I. XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CLIENT/SERVER HOẠT ĐỘNG
THEO GIAO THỨC UDP.............................................................................................9
1. Yêu cầu.................................................................................................................. 9
2. Thuật toán.........................................................................................................9
3. Mã nguồn...............................................................................................................9
4.
Kết quả..............................................................................................................9
II. XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CLIENT/SERVER HOẠT ĐỘNG
THEO GIAO THỨC TCP/IP.......................................................................................10
1. Yêu cầu.................................................................................................................10
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
2.Thuật toán........................................................................................................10
3.Mã nguồn..........................................................................................................10
4.Kết quả..............................................................................................................10
III. XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CHAT ROOM CLIENT/SERVER
HOẠT ĐỘNG THEO GIAO THỨC TCP/IP...............................................................11
1. Yêu cầu.............................................................................................................11
2. Thuật toán.......................................................................................................11
3. Mã nguồn.........................................................................................................11
4. Kết quả.............................................................................................................11
BÀI THỰC HÀNH SỐ 3 HỌC PHẦN LẬP TRÌNH MẠNG.....................................13
1. Yêu cầu.................................................................................................................13
2. Sơ đồ hệ thống..................................................................................................14
4. Sơ đồ lớp..............................................................................................................15
5. Mã nguồn.............................................................................................................15
6. Kết quả.................................................................................................................16
KẾT LUẬN......................................................................................................................20
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
BÀI THỰC HÀNH SỐ 1
HỌC PHẦN LẬP TRÌNH MẠNG
I.
XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CLIENT/SERVER
HOẠT ĐỘNG THEO GIAO THỨC TCP/IP
1. Yêu cầu
- Chương trình Server mở cổng và chờ nhận kết nối từ Client.
- Client gửi một chuỗi ký tự đến Server. Server nhận và xử lý gửi
trả về cho
client các công việc:
+ Đổi chuỗi đã gửi thành chuỗi in hoa
+ Đổi chuỗi đã gửi thành chuỗi thường
+ Đếm số từ của chuỗi đã gửi
2. Thuật toán
Server nhận thông tin từ client gửi lên rồi sử dụng các
phương thức để trả về chữ thường, chữ hoa, đếm số từ của chuỗi
sau đó gửi kết quả về lại client
3. Mã nguồn
Tham khảo tại source trong file đính kèm
4. Kết quả
Hình 1: Màn hình kết quả bài 1 tại Client
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
Hình 2: Màn hình kết quả bài 1 tại Server
II.
XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CLIENT/SERVER
HOẠT ĐỘNG THEO GIAO THỨC TCP/IP
1. Yêu cầu
- Chương trình Client cho phép nhập vào từ bàn phím một chuỗi
biễu diễn
một phép tính gồm các toán tử +, -, (, ).
Ví dụ: 5+13-(12-4*6) –((3+4)-5)
- Chương trình Server thực hiện tính toán và trả kết quả về cho
Client.
2.Thuật toán
Client nhập biểu thức cần tính rồi gửi lên server. Server xây
dựng một chương trình tính biểu thức (chuyển về biểu thức hậu tố
rồi tính), sau đó gửi kết quả về lại cho Client.
3.Mã nguồn
Tham khảo tại source trong file đính kèm
4.Kết quả
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
Hình 3 : Màn hình kết quả bài 2 tại Client
Hình 4: Màn hình kết quả bài 2 tại Server
III. XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CHAT ROOM
CLIENT/SERVER HOẠT ĐỘNG THEO GIAO THỨC TCP/IP
1. Yêu cầu
- Chương trình Server mở cổng chờ nhận kết nối từ Client.
- Chương trình Client kết nối và thực hiện trao đổi với chương
trình
Server
2. Thuật toán
Client có đặt tên và chat với những ai connect đến cùng địa
chỉ và port. Server khi mở lên bắt đầu tiến hành nhận các thông
tin từ client, mỗi khi có client mới kết nối thì thêm vào danh sách.
Khi có client gửi tin lên server thì server trả lời lại về tất cả các
client có trong danh sách.
3. Mã nguồn
Tham khảo tại source trong file đính kèm
4. Kết quả
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
Hình 5: Màn hình kết quả bài 3 tại Client
Hình 6: Màn hình kết quả bài 3 tại Server
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
BÀI THỰC HÀNH SỐ 2
HỌC PHẦN LẬP TRÌNH MẠNG
I.
XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CLIENT/SERVER
HOẠT ĐỘNG THEO GIAO THỨC UDP
1. Yêu cầu
- Chương trình Server mở cổng và chờ nhận kết nối từ Client.
- Client gửi một chuỗi ký tự đến Server. Server nhận và xử lý
gửi trả về cho
client các công việc:
+ Đổi chuỗi đã gửi thành chuỗi in hoa
+ Đổi chuỗi đã gửi thành chuỗi thường
+ Đếm số từ của chuỗi đã gửi
2. Thuật toán
Server lập trình theo hướng đa tuyến, nhận thông tin từ
client gửi lên và trả lời ngay lập tức. Sử dụng các phương thức
toLowerCase() và toUpperCase() của lớp String để chuyển cả
string về chữ thường hoặc chữ hoa, sau đó dùng một thuật toán
đơn giản để đếm số từ có trong chuỗi.
Client nhận dữ liệu nhập vào và hiển thị dữ liệu trả về qua
màn hình giao diện console.
3. Mã nguồn
Tham khảo tại source trong file đính kèm
4. Kết quả
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
Hình 7: Màn hình kết quả bài 1 tại Client
Hình 8: Màn hình kết quả bài 1 tại Server
II.
XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CLIENT/SERVER
HOẠT ĐỘNG THEO GIAO THỨC TCP/IP
1. Yêu cầu
- Chương trình Client cho phép nhập vào từ bàn phím một chuỗi
biễu diễn
một phép tính gồm các toán tử +, -, (, ).
Ví dụ: 5+13-(12-4*6) –((3+4)-5)
- Chương trình Server thực hiện tính toán và trả kết quả về cho
Client.
2.Thuật toán
Client nhập biểu thức cần tính rồi gửi lên server. Server xây
dựng một chương trình tính biểu thức trung tố (có thể tính trực
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
tiếp hoặc chuyển sang biểu thức hậu tố rồi tính), sau đó gửi kết
quả về lại cho Client.
3.Mã nguồn
Tham khảo tại source trong file đính kèm
4.Kết quả
Hình 9: Màn hình kết quả bài 2 tại Client
Hình 10: Màn hình kết quả bài 2 tại Server
III. XÂY DỰNG CHƯƠNG TRÌNH HỘI THOẠI CHAT ROOM
CLIENT/SERVER HOẠT ĐỘNG THEO GIAO THỨC TCP/IP
1. Yêu cầu
- Chương trình Server mở cổng chờ nhận kết nối từ Client.
- Chương trình Client kết nối và thực hiện trao đổi với chương
trình
Server
2. Thuật toán
Client có giao diện chat room, có đặt nick name và chat với
những ai connect đến cùng địa chỉ và port. Server khi mở lên bắt
đầu tiến hành nhận các thông tin từ client, mỗi khi có client mới
kết nối thì thêm vào danh sách. Khi có client gửi tin lên server thì
server trả kết quả về cho tất cả các client có trong danh sách.
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
3. Mã nguồn
Tham khảo tại source trong file đính kèm
4. Kết quả
Hình 11: Màn hình kết quả bài 3 tại Client
nh 12: Màn hình kết quả bài 3 tại Server
SVTH: Huỳnh Thị Diệu Trâm
Hì
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
BÀI THỰC HÀNH SỐ 3
HỌC PHẦN LẬP TRÌNH MẠNG
1. Yêu cầu
Nội dung bài tập: Lập trình JSP để thực hiện các công việc sau:
Thiết kế một Website quản lý nhân sự phòng ban theo mẫu sau
với cơ sở dữ liệu bất kỳ (Gồm các trang: xem thông tin, chèn
thông tin, cập nhật thông tin, xóa thông tin, tìm kiếm thông tin)
Kết quả minh họa:
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
2. Sơ đồ hệ thống
Trang
chủ
Đ ă ng nhậ p
Đ ă ng xu ấ t
Xe m d a nh
s á c h nhâ n
v iê n
Xe m c hi t iế t
nhâ n v iê n
Tê m nhâ n
v iê n
Cậ p nhậ t
Tê m p hò ng
ban
Xó a nhâ n
v iê n
Xe m d a nh
s á c h p hò ng
ban
Xó a p hò ng
ban
Xo á t ấ t c ả
Xe m c hi t iế t
p hò ng b a n
Tìm kiế m
Cậ p nhậ t
Hình 13: Sơ đồ hệ thống
3. Sơ đồ cơ sở dữ liệu
Hình 14:Sơ đồ hệ thống
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
4. Sơ đồ lớp
1..n
Hình 15: Sơ đồ lớp
5. Mã nguồn
Tham khảo tại source trong file đính kèm
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
6. Kết quả
Hình 16: Đăng nhập
SVTH: Huỳnh Thị Diệu Trâm
Th.s Nguyễn Văn Nguyên
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
Hình 17: Giao diện trang chủ
Hình 18: Xem danh sách phòng ban
Hình 19: Chỉnh sửa thông tin phòng ban
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
Hình 20: Tạo mới phòng ban
Hình 21: Xem danh sách nhân viên
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
Hình 22: Chỉnh sửa thông tin nhân viên
Hình 23: Tạo mới nhân viên
SVTH: Huỳnh Thị Diệu Trâm
Báo cáo Thực hành Lập trình mạng
Th.s Nguyễn Văn Nguyên
KẾT LUẬN
Sau các bài thực hành em đã nắm vững được các kiến thức lập
trình mạng căn bản để phục vụ cho việc xác định chọn chuyên ngành
sau này.
Một lần nữa em xin chân thành cảm ơn thầy!
SVTH: Huỳnh Thị Diệu Trâm