Phần mềm thực hiện các chức năng quản lý các máy tính trong mạng LAN dựa trên mô hình Master -Slaver và dùng giao thức UDP để thực hiện truyền dữ liệu trong quá trình kết nối.. Trong sự
Trang 1Lời Nói Đầu
Ngày nay, mạng máy tính đã trở thành một hạ tầng cơ sở quan trọng củatất cả các cơ quan xí nghiệp, doanh nghiệp Nó đã trở thành một kênh trao đổithông tin không thể thiếu đợc trong thời đại công nghệ thông tin Với xu thế giáthành ngày càng hạ của các thiết bị điện tử, kinh phí đầu t cho việc xây dựng một
hệ thống mạng không vợt ra ngoài khả năng của các công ty xí nghiệp Tuynhiên, việc khai thác một hệ thống mạng một cách hiệu quả để hỗ trợ cho côngtác nghiệp vụ của các cơ quan xí nghiệp thì còn nhiều vấn đề cần bàn luận
Việc xây dựng một phần mềm để quản lý các máy tính trong một phòngmạng hay một công ty, xí nghiệp, dịch vụ internet là một yêu cầu cần thiết Phầnmềm quản lý các máy tính sẽ giúp cho ngời quản lý quản lý một cách dễ dàngcác máy tính trong mạng, tránh đợc các thao tác không cần thiết Ngoài ra, phầnmềm còn giúp cho việc bảo mật các thông tin trên các máy tính tốt hơn
Bắt nguồn từ nhu cầu thực tế đó em đã chọn đề tài xây dựng phần mềm
“Quản Lý Phòng máy tính” Phần mềm thực hiện các chức năng quản lý các máy tính trong mạng LAN dựa trên mô hình Master -Slaver và dùng giao thức
UDP để thực hiện truyền dữ liệu trong quá trình kết nối.
Trong quá trình thực hiện đề tài, em đợc sự quan tâm hớng dẫn tận tình
của Thầy giáo Ths Trần Xuân Trờng, đồng thời dợc sự góp ý giúp đỡ của bạn
bè đã giúp em hoàn thành đề tài này
Do nhiều yếu tố khách quan và do tầm hiểu biết cha sâu sắc nên chơngtrình vẫn còn nhiều tính năng em cha thể khai thác hết đợc Em mong đợc sự góp
ý của Thầy Cô và các bạn để em có thể hoàn thiện hơn đề tài của mình
Trang 21.2 Cơ sở lý thuyết 5
1.2.1 Mô hình OSI 5
1.2.2 Mô hình Master – Slaver: Slaver: 7
1.2.3 Giao thức sử dụng trong truyền tải dữ liệu: 8
1.2.4 Giới thiệu về Socket 10
1.3 Tổng quan về chơng trình Quản lý phòng máy tính :“ ” 12
1.3.1 Sơ đồ kết nối và trao đổi dữ liệu của giao thức TCP, UDP 12
1.3.2 Xây dựng chơng trình dựa trên giao thức kết nối UDP 13
Phần II 15
Phân tích và xây dựng chơng trình 15
2.1 Phân tích các chức năng chung của hệ thống 15
2.1.1 Chức năng nghiệp vụ của hệ thống 15
2.1.2 Chức năng quản trị hệ thống 15
2.1.3 Chức năng quản lý máy client 15
2.1.4 Chức năng giám sát hệ thống 16
2.1.5 Chức năng gửi message chat: 16
2.2 Thiết kế chơng trình chơng trình quản lý phòng máy 16
2.2.1 Thiết kế cơ sở dữ liệu: 16
2.2.2 Thiết kế các module chơng trình 21
Phần III 43
Giao diện chơng trình 43
3.1 Yêu cầu cấu hình để chạy chơng trình 43
3.2 Giao diện chơng trình 43
3.2.1 Các giao diện bên phía máy server 43
3.2.2 Giao diện bên phía máy khách(client) 47
PHầN IV 48
KếT LUậN 48
4.1 Các chức năng nổi bật 48
4.2 Các kỹ thuật đã tìm hiểu 48
4.3 Hạn chế 49
4.4 Hớng phát triển 49
TàI LIệU THAM KHảO 50
Trang 3PHầN I MÔ Tả BàI TOáN Và CƠ Sở Lý THUYếT
1.1 Mô tả bài toán
Ngày nay internet đã trở thành vai trò quan trọng trong cuộc sống Internet
là kênh thông tin cung cấp đầy đủ các loại hình thông tin nh: Tin tức, thể thao,sức khỏe, giải trí, giao lu, đàm thoại, email, … với một lợng thông tin rộng lớn
Trong sự nghiệp đổi mới Nhà nớc ta đặc biệt quan tâm đến kênh thông tinqua internet, thông qua internet Đảng và nhà nớc có thể thông báo về các chínhsách phát triển kinh tế - xã hội, giải đáp trực tuyến thắc mắc của nhân dân…
Công nghệ điện tử ngày càng phát triển nên việc trang bị một máy tínhcho riêng mình thì không khó, nhng để máy tính kết nối internet thì đối với ngờidân nông thôn là rất khó khăn Vì thế loại hình kinh doanh phòng mạng máy tính
có kết nối internet đợc phát triển ngày càng phổ biến cả ở thành thị và nông thôn
Để công việc quản lý các máy tính sẽ đợc nhẹ nhàng và hiệu quả hơn thì đòi hỏiphải có một phần mềm quản lý các máy tính
Chơng trình “Quản lý phòng máy tính” là phần mềm ứng dụng quản lý các
máy tính trong mạng LAN, chơng trình đợc thiết kế dựa trên mô hình Master
-slaver Với nhiều chức năng giúp cho ngời quản lý phòng máy tính dễ dàng, linh
hoạt và hiệu quả
Trang 41.2 Cơ sở lý thuyết
1.2.1 Mô hình OSI
Để dễ dàng cho việc kết nối và trao đổi thông tin giữa hai máy tính vớinhau, vào năm 1983, tổ chức tiêu chuẩn thế giới - ISO đã phát triển mô hình màhai máy tính có thể gửi và nhận dữ liệu cho nhau Mô hình này dựa trên tiếp cậnphân tầng, với mỗi tầng đảm nhận một số chức năng nào đó
Để hai máy tính có thể trao đổi thông tin với nhau thì có rất nhiều vấn đềliên quan ví dụ cần có card mạng, dây cáp mạng, điện thế tín hiệu trên cápmạng, cách thức đóng gói dữ liệu, điều khiển lỗi đờng truyền bằng cách phânchia các chức năng này vào những tầng riêng biệt nhau, việc các phần mềm đểthực hiện chúng trở nên dễ dàng hơn Mô hình OSI giúp đồng nhất các hệ thốngmáy tính khác biệt nhau khi chúng trao đổi thông tin Mô hình này gồm 7 tầng:
Tầng 1: Tầng vật lý(Physical Layer)
Điều khiển việc truyền tải thực sự các bit trên đờng truyền vật lý Nó địnhnghĩa các thuộc tính về cơ, điện, quy định các loại đầu nối, ý nghĩa các pin trong
đầu nối, quy định các mức điện thế cho các bit 0,1,
Tầng 2: Tầng liên kết dữ liệu (Data - Link Layer)
Tầng này đảm bảo truyền tải các khung dữ liệu(Frame) giữa hai máy tính
có đờng truyền vật lý nối trực tiếp với nhau Nó cài đặt cơ chế phát hiện và xử lỗidữ liệu nhận
Tầng 3: Tầng mạng (Network Layer)
Tầng này đảm bảo các gói tin dữ liệu(Packet) có thể truyền từ máy tínhnày đến máy tính kia cho dù không có đờng truyền vật lý trực tiếp giữa chúng
Nó nhận nhiệm vụ tìm đờng đi đến các mạng tính khác trong mạng
Tầng 4: Tầng vận chuyển (Transport Layer)
Tầng này đảm bảo truyền tải dữ liệu giữa các quá trình Dữ liệu đợc gửi đi
đảm bảo không có lỗi, theo đúng trình tự, không bị mất mát, trùng lặp Đối vớicác dữ liệu có kích thớc lớn tầng này sẽ phân chia nhỏ trớc khi gửi đi, cũng nhtập hợp lại khi nhận đợc
Tầng 5: Tầng giao dịch(Session Layer)
Tầng này cho phép các ứng dụng thiết lập, sử dụng và xóa các kênh giaotiếp giữa chúng(đợc gọi là giao dịch) Nó cung cấp cơ chế cho việc nhận biết tên
và các chức năng về bảo mật thông tin khi truyền qua mạng
Trang 5Tầng 6: Tầng trình bày(Presentation Layer)
Tầng này đảm bảo các máy tính có kiểu định dạng dữ liệu khác nhau vẫn
có thể trao đổi thông tin cho nhau thông thờng các máy tính sẽ thống nhất vềmột kiểu định dạng dữ liệu trung gian để trao thông tin giữa các máy tính
Một dữ liệu cần gửi đi sẽ đợc tầng này trình bày chuyển sang định dạngtrung gian trớc khi nó đợc truyền lên mạng, ngợc lại khi nhận dữ liệu tầng này sẽchuyển dữ liệu sang định dạng riêng của nó
Tầng 7: Tầng ứng dụng(Application Layer)
Đây là tầng trên cùng cung cấp các ứng dụng truy xuất đến các dịch vụmạng Nó bao gồm các ứng dụng của ngời dùng nh Web Browser(NetscapeNavigator, Internet Explorer), các Mail user agent(Outlook Express, NetscapeMessenger…) hay các chơng trình server cung cấp các dịch vụ mạng ngời dùngmạng giao tiếp trực tiếp với tầng này
1.2.2 Mô hình Master – Slaver: Slaver:
Mô hình Client – Slaver: Server là một mô hình nổi tiếng trong mạng máytính, đợc áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có, ý tởngcủa mô hình này là máy con(đóng vai trò là máy khách) gửi một yêucầu(request) đến máy chủ(đóng vai trò là ngời cung cấp dịch vụ), máy chủ sẽ xử
lý và trả về kết quả cho máy khách
Mô hình Master – Slaver: Slaver là mô hình ngợc lại với mô hình Client – Slaver:Server, trong mô hình Master – Slaver: Slaver thì máy chủ(đóng vai trò là ông chủ) sẽgửi các dữ liệu đến máy con(đóng vai trò là nô lệ) bất kể máy con có cần haykhông
Thuật ngữ Slaver đợc dùng cho những chơng trình thi hành các yêu cầu
nhận đợc từ máy chủ(Master) Các chơng trình trên máy client(Slaver) thực thi
các yêu cầu hợp lý từ máy chủ(Master) gửi xuống, sau đó trả kết quả thực thi về
cho máy chủ Chơng trình Master và Slaver giao tiếp với nhau bằng các thông
điệp(message) thông qua một cổng truyền thông liên tác IPC( interprocesscommucation) Để một chơng trình Master và một chơng trình Slaver giao tiếpvới nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này đợc gọi làgiao thức Nếu một chơng trình Master nào đó muốn lấy thông tin từ Slaver thì
nó phải tuân theo giao thức mà Slaver đa ra Với sự phát triển mạng nh hiện naythì có rất nhiều giao thức chuẩn trên mạng ra đời nhằm đáp ứng nhu cầu pháttriển này Các giao thức chuẩn(ở tầng mạng và tầng vận chuyển) đợc sử dụngrộng rãi nhất hiện nay nh: Giao thức TCP/IP, giao thức SNA của IBM, OSI,ISDN, X.25 hoặc giao thức LAN- to- LAN NetBios Một máy tính chứa chơng
Trang 6trình Server đợc coi là một máy chủ hay máy phục vụ(Server) và máy chứa
ch-ơng trình client đợc coi là máy tớ(client)
1.2.3 Giao thức sử dụng trong truyền tải dữ liệu:
Có nhiều giao thức đợc sử dụng trong việc truyền tải thông tin giữa các
máy với nhau nh các giao thức TCP, TCP/IP, UDP, IP Hai giao thức đợc sử dụng rộng rải và phổ biến là: TCP và UDP
- Giao thức UDP và TCP là hai giao thức phổ biến nhất ở lớp vận chuyển(Transport layer) của giao thức TCP/IP UDP dùng ít byte hơn cho phần
Header và yêu cầu xử lý từ Host ít hơn TCP thì cần nhiều Byte hơn trong phần Header và phải xử lý nhiều hơn nhng cung cấp nhiều chức năng hữu ích hơn nh
khả năng khôi phục lỗi
Các Header của TCP và UDP khác nhau ở(20 và 8 byte), nguyên nhân chủ yếu là TCP hỗ trợ nhiều chức năng hơn.
Trang 7và cổng đích, chỉ số tuần tự và ACK Trong quá trình thiết lập kết nối, hai Host
sẽ chọn lựa cổng, chọn lựa chỉ số tuần tự (Sequence number) và dùng các chỉ sốcủa TCP để nhận ra thông điệp trong quá trình bắt tay ba bớc Đầu tiên, đối vớivấn đề cổng, bên máy chủ (Server) phải lắng nghe các yêu cầu kết nối từ máyyêu cầu máy khách(Client), trong trờng hợp này là cổng 80 Phía máy khách sẽchọn một cổng cha dùng làm cổng nguồn, thờng là giá trị 1024 hoặc lớn hơn Lu
ý rằng khi so sánh các phân đoạn (Segment) trong tiến trình trên, giá trị cổng làkhông đổi Segment là đơn vị mô tả dữ liệu tại lớp vận chuyển đợc gọi là PDU(Protocol Data Unit)
Trong phần Header của TCP có bao gồm vài trờng có giá trị 1 Bit, gọi là các cờ Các cờ này phục vụ cho các mục đích khác nhau Các cờ SYN và ACK sẽ chỉ ra một Segment có phải là Segment đầu tiên hay là thứ hai trong một kết nối
TCP mới Một Segment có cờ SYN sẽ là segment đầu tiên trong một kết nối TCP Một Segment có cả SYN và ACK sẽ là Segment thứ hai trong một kết nối.
Các cờ này cho phép các host dễ dàng nhận ra các yêu cầu kết nối mới Chỉ sốban đầu có thể đợc gán về bất kỳ giá trị hợp lệ nào và thờng không đợc gán về 0.Quá trình khôi phục lỗi, việc sử dụng các giá trị này là độc lập trong cả haichiều
- Giao thức UDP.
Giao thức UDP(User Datagram Protocol) là một trong những giao thức cốt lõi của giao thức TCP/IP Dùng UDP chơng trình trên máy có thể gửi những dữ liệu ngắn đợc gọi là datagram tới máy khác UDP không cung cấp sự tin cậy
và thứ tự nh TCP, các gói dữ liệu đến không có thứ tự hoặc bị mất mà không có thông báo Tuy nhiên UDP nhanh và hiệu quả với mục tiêu nh kích thớc gói tin
nhỏ và yêu cầu khắt khe về thời gian Do bản chất không trạng thái của nó nên
nó hữu dụng đối với việc trả lời các truy vấn nhỏ với số lợng yêu cầu lớn
Trang 8Những ứng dụng phổ biến nhất của UDP nh DNS(Domain Name System),ứng dụng Treaming Media, Voice Over Ip, TFPT(Trivial File Transfer Protocol),
và Game trực tuyến
UDP dùng cổng để thực hiện các giao tiếp, đặc điểm của UDP:
Chỉ thêm thông tin về các địa chỉ Port, điều khiển lỗi Checksum và độ dài
thông tin
UDP cung cấp các chức năng cơ bản cho cơ chế truyền End-to-End, khôngcung cấp chức năng xử lý lỗi và truyền lại dữ liệu mất hoặc bị lỗi
1.2.4 Giới thiệu về Socket
Socket là một giao diện lập trình ứng dụng (API) mạng Thông qua giao
diện này chúng ta có thể lập trình điều khiển việc truyền thông giữa hai máy sử
dụng các giao thức mức thấp TCP, UDP.
Socket là một sự trừu tợng hóa ở mức cao có thể tợng tợng nó nh là thiết bị
truyền thông hai chiều gửi – Slaver: nhận dữ liệu giữa hai máy tính với nhau
Các loại Socket:
- Socket hớng kết nối (TCP Socket)
- Socket không hớng kết nối (UDP Socket)
Trang 9- Đặc điểm của Socket hớng kết nối.
- Có một đờng kết nối ảo giữa hai tiến trình
- Một trong hai tiến trình phải đợi tiến trình kia yêu cầu kết nối
- Có thể sử dụng để liên lạc theo mô hình Client/Server.
- Trong mô hình Client/Server thì Server lắng nghe và chấp nhận
một yêu cầu kết nối
- Mỗi thông điệp gửi đều có xác nhận trở về
- Các gói tin chuyển đi tuần tự
- Đặc điểm của Socket không hớng kết nối:
- Hai tiến trình liên lạc với nhau không kết nối trực tiếp
- Thông điệp gửi đi phải kèm theo địa chỉ của ngời nhận
- Thông điệp có thể gửi nhiều lần
- Ngời gửi không chắc chắn thông điệp tới tay ngời nhận
- Thông điệp gửi sau có thể đến trớc thông điệp gửi trớc đó
- Số hiệu cổng của Socket:
- Để thực hiện các cuộc giao tiếp thì một trong hai quá trình phải công
bố số hiệu cổng của socket mà mình sử dụng
- Mỗi cổng giao tiếp thể hiện một địa chỉ xác định trong hệ thống.Khi quá trình đợc gán một số hiểu cổng Nó có thể nhận dữ liệu gửi đến cổngnày từ các quá trình khác
- Quá trình còn lại cũng yêu cầu tạo ra một Socket.
1.3 Tổng quan về chơng trình Quản lý phòng máy tính :“ ”
1.3.1 Sơ đồ kết nối và trao đổi dữ liệu của giao thức TCP, UDP
- Sơ đồ kết nối và trao đổi dữ liệu của giao thức TCP
Trang 10Sơ đồ kết nối và trao đổi dữ liệu của giao thức TCP
- Sơ đồ kết nối và trao đổi dữ liệu của giao thức UDP
Trang 11Sơ đồ kết nối và trao đổi dữ liều bằng giao thức UDP
1.3.2 Xây dựng chơng trình dựa trên giao thức kết nối UDP
- Chơng trình quản lý phòng máy tính gồm hai chơng trình, một chạy ở Client
và một chạy ở Server Giao thức đợc sử dụng để giao tiếp với nhau là UDP
- Chơng trình Server quản lý máy client(quản lý đăng nhập, quản lý cácprocess, service, quản lý th mục, file )
- Đầu tiên, máy Server mở cổng (port) để “lắng nghe”(Listen) các kết nối từ
Trang 12Phần II Phân tích và xây dựng chơng trình
2.1 Phân tích các chức năng chung của hệ thống
2.1.1 Chức năng nghiệp vụ của hệ thống
- Chức năng chính của chơng trình “Quản lý phòng máy tính” là thực hiện
quản lý máy client thông qua việc quản lý ngời dùng đăng nhập máy client và tàinguyên của máy client
- Để thực hiện tốt chức năng thì vấn đề đảm báo kết nối mạng là đợc đặtlên hàng đầu và cần có cơ sở dữ liệu để lu lại các thông tin về tài khoản đăngnhập máy client, tài khoản ngời dùng, các lỗi của hệ thống để kịp thời khắcphục
2.1.2 Chức năng quản trị hệ thống
Trang 13- Chức năng quản trị hệ thống nhằm bảo đảm an toàn cho hệ thống Hệthống muốn làm việc tin cậy và an toàn thì hệ thống phải có biện pháp ngănngừa các h hỏng dẫn đến mất kết nối giữa server và client trông quá trình quảnlý.
- Bên cạnh đó các thao tác tác động đến hệ điều hành của máy client đòihỏi phải có sự chờ đợi vì quá trình truyền thông tin giữa client-server là cókhoảng thời gian trễ(delay), muốn thc hiện thao tác mới thì phải xem các thaotác trớc đó đã hoàn thành cha để tránh cho việc dữ liệu sẽ bị mất mát hoặc sai lạctrong quá trình truyền
2.1.3 Chức năng quản lý máy client
- Chức năng quản lý tài khoản :
+ Cập nhật thời gian còn lại của tài khoản sau mỗi phút, không chophép đồng thời đăng nhập hai máy client bằng một tài khoản
+ Cho phép ngời dùng vẫn đợc sử dụng máy bình thờng trong trờnghợp ngời dùng không muốn tạo tài khoản
- Chức năng quản lý máy:
+ Thực hiện các yêu cầu : tắt máy, khởi động lại, standby,
+ Quản lý các process trên máy client
+ Quản lý các dịch vụ của máy client
+ Quản lý các th mục và file
2.1.4 Chức năng giám sát hệ thống
- Chức năng này nhằm để quản trị hệ thống một cách hiệu quả Chức năngnày phát hiện ra các lỗi của hệ thống và lý do lỗi, thời gian xẩy ra và ngày xẩy ralỗi, tên máy xẩy ra lỗi
Chức năng này tơng tự nh chức năng EventViewer của Windows
2.1.5 Chức năng gửi message chat:
- Chức năng này giúp cho ngời quản trị có thể gửi thông báo xuông chongời sử dụng
2.2 Thiết kế chơng trình chơng trình quản lý phòng máy
2.2.1 Thiết kế cơ sở dữ liệu:
Hệ quản trị cơ sở dữ liệu đợc chọn để viết các bảng cho cơ sở dữ liệu làSQL Server 2005 Nó là một hệ quản trị đợc sử dụng khá phổ biến hiện nay.Trong hệ SQL 2000 công cụ quản lý chủ yếu là Interprise Manager và QueryAnalyzer SQL 2005 với công cụ quản lý mới là SQL Server Management studio
đã thay thế hoàn toàn hai công cụ trên của SQL 2000 Công cụ này cho phép ta
Trang 14quản lý nhiều thể hiện SQL server dễ dàng hơn Từ một giao diện có thể quản lýnhiều thể hiện của CSDL SQL server, Analyzer service, intergration service vàReporting service
Ngoài ra, SQL Management Object(SMO) thay thế cho DistributedManagement Object(DMO) đợc dùng trong SQL 2000 SMO nhanh hơn DMO ởnhiều thiết lập bởi vì mỗi đối tợng chỉ đợc thực hiện tổng phần Ví dụ, khi muốnliệt kê một danh sách hàng ngàn đối tợng lên tree view, thì không cần nạp đầy đủthông tin đối tợng ngay một lần Ban đầu chỉ hiện tên của đối tợng khi nào cầnthì mới nạp đầy đủ thông tin của đối tợng đó điều này giúp ta tiết kiệm nhiềuthời gian cho các tác vụ đơn giản
- Password : mật khẩu ngời của tài khoản
- SurName: họ tên của ngời dùng tài khoản
- Price : giá tiền mỗi giờ của tài khoản ngời dùng
- TotalTime: Tổng thời gian đợc phép truy cập
Trang 15- OrderID : thuộc tính khóa, mã của dịch vụ
- Number: số lợng dịch vụ đợc đặt hàng
- ComputerName: thuộc tính khóa, tên máy đã đặt hàng dịch vụ
- UserName: Tên ngời dùng đã đặt hàng dịch vụ
- Type : Loại dịch vụ
- Price : giá của dịch vụ
- Thực thể 6: EventViewer - lu lại các sự kiện xẩy ra trong hệ thống
- ComputerName: tên máy tính xẩy ra sự kiện
- Type : Loại sự kiện
- Date: ngày xẩy ra sự kiện
- Time : giờ của ngày xẩy ra sự kiện
- Description : nguyên nhân xẩy ra sự kiện
- ComputerName : thuộc tính khóa, tên máy tính
- UserName : tên tài khoản sử dụng máy tính tơng ứng
- LasteDate :Ngày truy cập cuối cùng của tài khoản trên máy tính
- totaltime : tổng thời gian truy cập trên máy tính
Trang 18c Lợc đồ quan hệ
2.2.2 Thiết kế các module chơng trình
Ngôn ngữ dùng để thiết kế chơng trình “Quản lý phòng máy tính” là
Visual Studio 2008 Visual Studio 2008 là ngôn ngữ lập trình bậc cao đợc sửdụng phổ biến hiện nay Visual Studio 2008 hớng tới phát triển Net Frameworkphiên bản 2.0, 3.0 và 3.5 Nó có nhiều điểm đặc biệt hơn Visual Studio 2005.Visual studio 2008 đa ra một tính năng đặc biệt là XAML – Slaver: trình thiết kế vănbản, LINQ to SQL dùng để mô tả các kiểu ánh xạ và sự đóng gói cho đối tợngSQL server, trình gỡ rối XSLT giúp cho ngời sử dụng có thể xác định các lỗi xẫy
ra nhanh hơn ngoài ra Visual Studio 2008 có hàm API hổ trợ nhiều phơng thứcgiúp thao tác vào hệ điều hành dễ dàng hơn
Trang 19Giao thức đợc sử dụng trong quá trình giao tiếp giữa máy chủ và máy khách là giao thức UDP Giao thức đợc sử dụng để truyền các đoạn tin nhỏ, truyền gói tin nhanh, nhng là gia thức không hớng kết nối
a.Các module của Server
- Lớp ConnectionDB.cs – Slaver: dùng để kết nối với cơ sở dữ liệu SQL server
2005
Các biến trong lớp ConnectionDB.cs
public static SqlCommand sqlComm;//
public static SqlConnection sqlConn;
public static SqlDataAdapter sqlAdapter;
public static SqlDataReader sqlReader;
public static DataSet myDataset;
Gồm có 2 phơng thức tĩnh(static):
+ Phơng thức OpenData: dùng để mở kết nối với cơ sở dữ liệu
public static void OpenData() {
string connectString = "Data Source=TRANHIEN\\SQLEXPRESS;Initial Catalog=Doan;Integrated Security=True" ; sqlConn = new SqlConnection (connectString); try {
if (sqlConn.State != ConnectionState Open) {
sqlConn.Open();
}
}
catch ( SqlException ex) {
error = ex.Message; }
}
+ Phơng thức CloseData: dùng để đóng kết nối cơ sở dữ liệu public static void CloseData() {
if (sqlConn.State != ConnectionState Closed) {
sqlConn.Close(); sqlConn.Dispose(); }
}
Trang 20- Lớp executeQueryData.cs: dùng để thực hiện truy vấn cơ sở dữ liệu, lớp
này đợc kế thừa từ lớp ConnectionDB.cs
Gồm phơng thức tĩnh queryData là phơng thức chồng: phơng thức thực
hiện các truy vấn thông qua các tên của thủ tục(StoreProcudre) đã đợc viết sẵntrong cơ sở dữ liệu, phơng thức trả về true trong trờng hợp truy vấn thành côngngợc lại trả về false
public static bool queryData( string storeName)- storeName là tên của thủ tục(StoreProdure) trong cơ sở dữ liệu.
public static bool queryData( string storeName, string []Paramaters, string [] values)
Trang 21+ Phơng thức tĩnh(static) Insert là một phơng thức chồng: phơng thức chỉ
có một tham số và kiểu dữ liệu của nó là một trong các đối tợng: computerInfo, userInfo, Cardinfo, OrderInfo, Order_Detail, csEventViewer.
Ví dụ
Muốn thêm dữ liệu vào bảng tblcomputer thì phơng thức là:
public static bool Insert( computerInfo _computerInfo)
{
string [] parametrs = new string [] { "@ComputerName" , "@IPAddress" };
string [] values = new string [] {_computerInfo.ComputerName,_computerInfo.IPAddress };
return excuteQueryData queryData( "tblComputer_Insert" , parametrs, values);
}
Muốn thêm dữ liệu vào bảng tblCard thì ta có:
public static bool Insert( CardInfo _cardInfo)
string [] Paramater = new string [] { "@UserName" , "@time" };
string [] Values = new string [] { _card.UserName,
_card.TimeLimited.ToString() };
return excuteQueryData queryData( "tblCard_UpdateTime" , Paramater,
Values);
}
- Khi ta muốn cập vào bảng tblOrderDetail trong cơ sở dữ liệu thì
public static bool Update( OrderDetail _orderDetail)
Trang 22{
string [] Paramater= new string [] { "@ID" , "@name" , "@type" , "@price" }; string [] Value = new string [] { _orderDetail.OrderID.ToString(), _orderDetail.OrderName, _orderDetail.Type, _orderDetail.Price };
return excuteQueryData queryData( "tblOderDetail_Update" , Paramater, Value);
Trong trêng hîp c©u lÖnh select cã tham sè th× ph¬ng thøc lµ getTable:
public static DataTable getTable( string storeProcedure, string
_paramater, string _value)
Trang 23sqlComm.CommandType = CommandType StoredProcedure;
get { return _computerName; }
set { _computerName = value ; }
}
string _ipaddress;
public string IPAddress
{
get { return _ipaddress; }
set { _ipaddress = value ; }
get { return _cadrdID; }
set { _cadrdID = value ; }