Xây dựng ứng dụng trao đổi dữ liệu trong mạng LAN

Download miễn phí Đồ án Xây dựng ứng dụng trao đổi dữ liệu trong mạng LAN





1. Thiết kế kiến trúc hệ thống

Mô hình client – server

- Chương trình server là chương trình chờ đợi các kết nối từ client và cung cấp dịch vụ cho client .Nó cố thể được mô tả như sau :

- Tiến trình server được khởi động trên một hệ thống nào đó sau đó chờ đợi một tiến trình client kết nối đến yêu cầu dịch vụ.Tiến trình client được khởi động trên cùng hệ thống hay trên hệ thống khác và kết nối tới server qua mạng để yêu cầu một số dịch vụ nào đó (vd: đọc ghi file , chạy 1 chương trình)

 

2. Thiết kế chức năng hệ thống

Chức năng của Server : Server chạy thường trực trên một hệ thống và chờ đợi các kết nối từ Clients, quản lý các user ,đáp ứng các yêu cầu từ phía Clients

Chức năng của Clients : Clients chạy trên các máy trạm trong cùng hệ thống hay khác hệ thống kết nối tới Server qua mạng.Sau khi kết nối tới server, các Clients có thể trao đổi dữ liệu , thông điệp .

 





Để tải tài liệu này, vui lòng Trả lời bài viết, Mods sẽ gửi Link download cho bạn ngay qua hòm tin nhắn.

Ket-noi - Kho tài liệu miễn phí lớn nhất của bạn


Ai cần tài liệu gì mà không tìm thấy ở Ket-noi, đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:


TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
BỘ MÔN: CÔNG NGHỆ THÔNG TIN Độc lập - Tự do - Hạnh phúc
ĐỒ ÁN TỐT NGHIỆP
Xây dựng ứng dụng trao đổi dữ liệu trong mạng LAN
Sinh Viên : Nguyễn Khắc Nhất
Msv : 080240
Giáo viên hướng dẫn : Ths Đỗ Xuân Toàn
Lời nói đầu
Cùng với sự phát triển của hệ thống mạng internet thì hệ thống mạng nội bộ (LAN) của các công ty , các tổ chức cũng ngày càng nhiều. Và để tận dụng khả năng trao đổi thông tin và dữ liệu nhanh chóng,tiện lợi của mạng máy tính. Có nhiều chương trình đã được xây dựng như LANChat, Achat Vừa nhằm mục đích học hỏi tìm hiểu vừa nhằm xây dựng một ứng dụng trao đổi thông tin,dữ liệu đơn giản,giá rẻ, dễ sử dụng . Em đã chọn đề tài này để phát triển .Trong quá trình xây dựng đề tài cũng gặp phải những khó khăn nhất định , là một dề tài tương đối khó nếu xây dựng hoàn chỉnh , do hạn chế về mặt thời gian nên đề tài còn nhiều sai sót và chương trình demo mới chỉ giải quyết được một phần trong đề tài . Em hy vọng mình sẽ tiếp tục phát triển được đề tài này hoàn chỉnh hơn nữa . Em xin chân thành Thank thầy cô và các bạn đã quan tâm giúp đỡ !
Nội dung báo cáo gồm
Tìm hiểu về ngôn ngữ lập trình Microsoft visual c#
Tìm hiểu về .Net Framework
Phân tích thiết kế hệ thống
1. Tìm hiểu lập trình mạng với C#
1.1. Tổng quan về C#
C# là một ngôn ngữ lập trình hướng đối tượng. Cấu trúc và lập luận của C# có đầy đủ các đặc tính của một ngôn ngữ lập trình hướng đối tượng trước đó (C++, Java). C# được thiết kế dùng cho nền .NET framework, một công nghệ mới và đầy triển vọng trong việc phát triển các ứng dụng hệ thống và mạng internet
C# là một trình biên dịch hướng .NET, nghĩa là tất cả các mã của C# luôn luôn chạy trên trên môi trường .NET Framework. . C# là một ngôn ngữ lập trình mới :
Nó được thiết kế riêng để dùng cho Microsoft's .NET Framework (Một nền khá mạnh cho sự phát triển, triển khai, hiện thực và phân phối các ứng dụng)
Nó là một ngôn ngữ hoàn toàn hướng đối tượng được thiết kế dựa trên kinh nghiệm của các ngôn ngữ hướng đối tượng khác.
Một điều quan trọng C# là một ngôn ngữ độc lập. Nó được thiết kế để có thể sinh ra mã đích trong môi trường .NET, nó không phải là một phần của .NET bởi vậy có một vài đặc trưng được hỗ trợ bởi .NET nhưng C# không hỗ trợ và có những đặc trưng C# hỗ trợ mà .NET không hỗ trợ.
1.2 Cấu trúc của một chương trình C#
Một chương trình C# bao gồm các thành phần như sơ đồ dưới đây:
- Các tệp *.cs là các tệp chứa mã nguồn của một chương trình C#
- Trong mỗi tệp *.cs, ta có các namespace (tương tự các gói-packages trong java). Nếu không có namespase thì một namespace mặc định anonymous được trình biên dịch tự cung cấp. Trong mỗi namespace, có thể có các cấu trúc (structs), các giao diện (Interfaces), các khai báo hằng (enums).
- Trong mỗi namespace, là phần mô tả các lớp đối tượng có trong chương trình.
2. Tổng quan về .Net Framework
.NET, nói một cách tổng quát, là một hệ thống tổng thể định nghĩa các cách về làm việc, lập trình cho máy PC
Khi trình thực thi, .NET được gọi để chạy một chương trình đã được chuyển đổi sang dạng IL, nó gọi một trình biên dịch tức thời (JITer) để biên dịch đoạn IL đó sang mã máy hoàn toàn để thực thi trên bộ vi xử lý của máy. Trình JITer làm việc rất nhanh và hiệu quả, cả việc không biên dịch các phần không được dùng đến của mã lện IL . Hệ thống sẽ cung cấp một trình biên dịch pre-JIT (tiền biên dịch) cho phép ta chuyển đổi IL thành mã máy thường trực, coi như tạo nên các tập tin thực thi .EXE hay .COM quen thuộc
Thư viện lớp cơ sở của .NET là một tập hợp lớn các lớp mã có quản được viết bởi Microsoft, những lớp này cho phép bạn thao tác rất nhiều các tác vụ sẵn có trong Windows. Bạn có thể tạo các lớp của mình từ các lớp có sẵn trong thư viện lớp cơ sở của .NET dựa trên cơ chế thừa kế đơn.
Namespace là cách mà .NET dùng để chống lại sự xung đột tên giữa các lớp.Một namespace không chỉ là một nhóm các kiểu dữ liệu, mà nó làm cho tên của tất cả các kiểu dữ liệu trong cùng một không gian tên sẽ có tiếp đầu ngữ là tên của namespace đó. Nó cũng cho phép một không gian tên nằm trong một không gian tên khác.
Trình biên dịch (Compiler)
Ngôn ngữ trung gian (Intermediate Language – IL)
preJIT Compiler (Tiền biên dịch)
econoJIT Compiler (JIT Kinh tế)
JIT Compiler (Trình biên dịch tức thời)
File thực thi .exe
Trình thực thi ngôn ngữ phổ quát
(OS) .NET Common Language Runtime – CLR
Phần cứng
Mức thấp
JScript
C++
Bộ khung của kiến trúc .NET (.NET FRAMEWORK) Mức cao
Các ngôn ngữ khác
Quá trình biên dịch trong .NET xảy ra theo hai bước :
- Dịch mã nguồn thành Microsoft Intermediate Language (MS-IL)
- Dịch IL thành mã nền cụ thể bởi CLR
3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Thiết kế kiến trúc hệ thống
Mô hình client – server
- Chương trình server là chương trình chờ đợi các kết nối từ client và cung cấp dịch vụ cho client .Nó cố thể được mô tả như sau :
- Tiến trình server được khởi động trên một hệ thống nào đó sau đó chờ đợi một tiến trình client kết nối đến yêu cầu dịch vụ.Tiến trình client được khởi động trên cùng hệ thống hay trên hệ thống khác và kết nối tới server qua mạng để yêu cầu một số dịch vụ nào đó (vd: đọc ghi file , chạy 1 chương trình)
Thiết kế chức năng hệ thống
Chức năng của Server : Server chạy thường trực trên một hệ thống và chờ đợi các kết nối từ Clients, quản lý các user ,đáp ứng các yêu cầu từ phía Clients
Chức năng của Clients : Clients chạy trên các máy trạm trong cùng hệ thống hay khác hệ thống kết nối tới Server qua mạng.Sau khi kết nối tới server, các Clients có thể trao đổi dữ liệu , thông điệp .
Thiết kế giao diện
-Giao diện Server chạy dạng console vì tạm thời server chỉ chờ đợi các kết nối từ Clients và thông báo cho các Clients danh sách user dang logon , chuyênt tiếp thông điệp giữa các Clients. Nhưng để server thân thiện hơn và dễ dàng thực hiện nhiều chức năng được thiết kế hơn thì đề tài hướng đến xây dựng server với giao diện đồ họa
-Giao diện Clients : xây dựng dạng đồ họa dễ dàng thao tác và sử dụng , thân thiện hơn với người dùng .
Thiết kế các Module
Modul 1 : Tạo các kết nối giữa Client và Server .
Xây dựng chức năng quản lý và lắng nghe các yêu cầu kết nối và chấp nhận kết nối giữa Client và Server. Module này cho phép ta kết nối 2 máy tính lại với nhau thông qua một địa chỉ cổng (Port ) và địa chỉ IP. Qua đó mà server và client có thể trao đổi thông tin với nhau .
private static int globalPortNo = 10000;
Đầu tiên số hiêu cổng TCP sẽ được gửi cho Client ...và nó sẽ tăng giá trị này lên mỗi khi có một Client mới logon
Module 2: Quan lý danh sách các Client đang kết nối .
Module này trên Server sẽ lấy danh sách các Client đang kết nối tới nó . Và gửi danh sách này cho các Client .Khi có Client nào đó Logoff khỏi hệ thống thì danh sách này sẽ được update lại và chuyển cho các Client .
Module 3: Truyền – nhận thông điệp
Module này cho phép các Client khi đã logon vào hệ thống có thể gửi và nhận thông điệp cho nhau .Các Client có thể gửi – nhận thông điệp từ một Client khác hay từ tất cảc Client có trong hệ thống . Khi có một thông điệp được gửi tới từ Client thì Server sẽ nhận và chuyển tiếp lại cho Client được yêu cầu nhận. Truyền và nhận thông điệp bao gồm cả truyền UserList từ Server cho các Client và Update danh sách này khi có Client mới logon hay có Client logoff . Để thực hiện việc xắp xếp UserList và hiển thị trên các Client , ServerConsole sử dụng một lớp là LinkedList . trong Project LinkedList để làm việc này .
Lớp TcpChannel : Cung cấp một Channel bổ sung cho việc sử dụng giao thức TCP để truyền các thông điệp .
Trong Project LinkedList.cs có lớp 2 Lớp là ListItem và LinkedList trong đó thì lớp LinkedList kế thừa các thuộc tính và cách của lớp ListItem
Module 4 : Hủy bỏ kết nối Logoff khỏi hệ thống
Client khi Logoff khỏi hệ thống thì sẽ không tham gia được vào quá trình truyền và nhận thông điệp .
Chương trình demo
-Chương trình demo xây dựng với Visual C# 2005
-Server lắng nghe các kết nối từ Clients và gửi cho các Clients danh sách các user kết nối
-Clients sau khi kết nối vào hệ thống có thể gửi thông điệp cho các Clients khác theo dạng broadcast và unicast
-Thông điệp từ các Clients sẽ được chuyển tiếp qua server tới Clients nhận
Server chạy dưới dạng Console
Client chạy dưới dạng Window Application
Trong Server TextBox , nhập vào tên của máy chạy Server . Nếu Client và Server chạy trên cùng một máy ta có thể để tên là “Localhost”.
Trog Username Textbox , điền username mà ta muốn sử dụng .Server sẽ kiểm tra tên này , nếu nó đã được sử dụng rồi thì sẽ yêu cầu bạn lấy username khác ..
Click Logon . Nếu bất kỳ textbox nào ở trên còn để trống thì chương trình sẽ yêu cầu điền vào các textbox cần thiết .
Bạn có thể gửi thông điệp theo một trong 2 cách sau :
Thư nhất : (BroadCast ) : Tích dấu vào ô kiểm Global , khi đó bạn không cần chọn một username cụ thể nào và thông điệp sẽ được gửi đến cho tất cả các Client đang connect tới Server
Nếu “Global ” ...

Music ♫

Copyright: Tài liệu đại học ©