Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Viết chương trình trò chuyện đơn giản bằng ngôn ngữ lập trình c#.
Nội dung xem thử
Mô tả chi tiết
ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM
KHOA TIN HỌC
------
KHÓA LUẬN TỐT NGHIỆP
Đề tài:
VIẾT CHƢƠNG TRÌNH TRÒ CHUYỆN ĐƠN GIẢN
BẰNG NGÔN NGỮ LẬP TRÌNH C#.
Giảng viên hướng dẫn : Th.S Ngô Đình Thƣởng
Sinh viên thực hiện : Nguyễn Văn Xuân
Lớp : 09SPT
Muc Lục
LỜI MỞ ĐẦU................................................................................................................................... 4
LỜI CẢM ƠN................................................................................................................................... 6
NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN............................................................................. 7
Chƣơng 1: CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG ...................................................................... 8
1.1. Sơ lƣợc về lập trình Socket.............................................................................................. 8
1.1.1. Khái niệm IPAddress và Port ................................................................................. 8
1.1.2. Lớp IPAddress.......................................................................................................... 8
1.1.3. Lớp IPEndPoint ....................................................................................................... 9
1.1.4. Lập trình Socket hƣớng kết nối(TCP).................................................................... 9
1.1.5. Lập trình Socket phi kết nối(UDP)....................................................................... 10
1.1.6. Lớp Helper của C# Socker .................................................................................... 11
1.2. Xử lý tiến trình trong lập trình đa luồng ..................................................................... 15
1.2.1. Khái niệm luồng ..................................................................................................... 15
1.2.2. Khảo sát namespace System.Threading............................................................... 16
1.3. Đồng bộ và bất đồng bộ trong lập trình đa luồng ....................................................... 19
1.4. Hệ mã hóa công khai RSA............................................................................................. 22
1.4.1. Khái niệm mã hóa .................................................................................................. 22
1.4.2. Hệ mã khóa ............................................................................................................. 24
1.4.3. Thuật toán mã hóa RSA ........................................................................................ 25
Chƣơng 2: PHÂN TÍCH VÀ THIẾT KẾ CHƢƠNG TRÌNH ................................................... 30
2.1. Phân tích ......................................................................................................................... 30
2.1.1. Phân tích nhu cầu thực tiễn................................................................................... 30
2.1.2. Yêu cầu đề ra .......................................................................................................... 30
2.1.3. Phân tích các thành phần xử lý............................................................................. 30
2.1.4. Quá trình xử lý của chƣơng trình......................................................................... 39
2.2. Thiết kế............................................................................................................................ 45
2.2.1. Thiết kế Server ....................................................................................................... 45
2.2.2. Thiết kế Client ........................................................................................................ 48
2.3. Cài đặt và sử dụng chƣơng trình................................................................................... 52
KẾT LUẬN..................................................................................................................................... 54
DANH MỤC TÀI LIỆU THAM KHẢO...................................................................................... 55
DANH SÁCH HÌNH VẼ SƠ ĐỒ
Hình 1.1 Lập trình socket hướng kết nối (TCP).........................................................6
Hình 1.2 Lập trình socket phi kết nối (UDP)..............................................................8
Hình 1.3 Kết quả chương trình đồng bộ hóa.............................................................18
Hình 1.4 Kết quả chương trình bất đồng bộ..............................................................18
Hình 1.5 Mã hóa.........................................................................................................20
Hình 1.6 Mã hóa và giải mã thông tin được truyền đi...............................................20
Hình 1.7 Mã hóa bí mật..............................................................................................21
Hình 1.8 Mã hóa công khai ........................................................................................21
Hình 2.1 Sơ đồ xử lý đăng nhập.................................................................................28
Hình 2.2 Sơ đồ xử lý đăng xuất..................................................................................29
Hình 2.3 Sơ đồ xử lý gởi tin nhắn..............................................................................30
Hình 2.4 Giao diện Server thu gọn.............................................................................42
Hình 2.5.a Giao diện Server mở rộng chưa kết nối........................................................43
Hình 2.5.b Giao diện Server mở rộng đã có kết nối..................................................43
Hình 2.6 Giao diện Client đăng nhập.........................................................................44
Hình 2.7 Giao diện Client chính thu gọn ...................................................................45
Hình 2.8 Giao diện Client Chat room ........................................................................46
Hình 2.9 Giao din Client tin nhắn riêng tư.................................................................47
Hình 2.10 Giao diện Client Chat riêng tư ..................................................................48
LỜI MỞ ĐẦU
Với sự phát triển của Internet hiện nay, việc viết các phần mềm ứng dụng
mạng đã trở nên cần thiết và phổ biến với những nhà phát triển phần mềm. Với
nhu cầu trao đổi thông tin, liên lạc và trò chuyện trên mạng ngày càng tăng hiện
nay, việc nghiên cứu và xây dựng thành công một chương trình Chat sẽ đáp ứng
được những nhu cầu cần thiết đó và làm phong phú thêm các phương thức trao đổi
và trò chuyện của các chương trình Chat hiện nay.
Với những lý do đặt ra như thế, việc nghiên cứu và xây dựng nên một
chương trình Chat phải đảm bảo các tính năng cần thiết và cơ bản nhất như: có
thể gởi tin nhắn riêng tư hoặc trong một nhóm giữa các user, tạo ra danh sách
bạn bè... Việc nghiên cứu và xây dựng một chương trình Chat cần thực hiện một
cách kĩ lưỡng và khoa học nhất để có thể tạo ra một ứng dụng có với những tính
năng cần thiết, dể dàng sử dụng, tao tác linh hoạt.
Để xây dựng thành công một chương trình Chat, em đã tập trung vào những
đối tượng và phạm vi nghiên cứu sau:
Đối tượng nghiên cứu: tìm hiểu cơ chế hoạt động của Socket, các nguyên lý
về lập trình đa luồng, đồng bộ và bất đồng bộ trong lập trình đa luồng, cuối
cùng là ứng dụng hệ mã hóa công khai RSA để mã hóa thông tin truyền đi
trên mạng.
Phạm vi nghiên cứu: tạo ra một chương trình Chat với tính năng như gởi và
nhận tin nhắn dạng text giữa các users với dạng riêng tư hoặc trong một
nhóm, mã hóa và giải mã thông tin trước khi truyền đi và sau khi nhận được
nhằm đảm bảo tính riêng tư và bảo mật khi truyền dữ liệu. Tất cả các quá
trình đó được giám sát và điều khiển bởi một Server.
Trong báo cáo này em xin trình bày theo kết cấu:
Chƣơng I: CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG
Tìm hiểu về lập lập trình Socket bằng ngôn ngữ C#, đưa ra cái nhìn tổng quan
cơ sở lý thuyết chủ đạo trong quá trình xây dựng chương trình. Tìm hiểu và ứng
dụng hệ mã hóa công khai RSA trong quá trình mã hóa thông tin trước khi truyền
đi.
Chƣơng II: PHÂN TÍCH VÀ THIẾT KẾ CHƢƠNG TRÌNH
Đưa ra các bước phân tích từ nghiên cứu thực tế của người sử dụng và vận
dụng cơ sở lý thuyết trong việc quá trình xây dựng chương trình. Đề ra các giải
pháp trong từng bước phân tích nhằm xây dựng chương trình một cách khoa học
nhất.
Chƣơng III: CÀI ĐẶT VÀ SỬ DỤNG CHƢƠNG TRÌNH
Là cách hướng dẫn người sử dụng phương pháp cài đặt chương trình, yêu
cầu hệ thống và các phương pháp sử dụng chương trình.