Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 39 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
39
Dung lượng
1,24 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - TÌM HIỂU KỸ THUẬT LẬP TRÌNH NETWORK SERVICE CHO WINDOW ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH CÔNG NGHỆ THÔNG TIN Giáo viên hƣớng dẫn: Sinh viên: Ths Đỗ Xuân Toàn Phạm Văn Ninh Mã số sinh viên: 121216 Hải Phịng, 7/2012 MỤC LỤC LỜI NĨI ĐẦU LỜI CẢM ƠN .2 CHƢƠNG 1: KỸ THUẬT LẬP TRÌNH MẠNG .3 1.1 Tổng quan lập trình mạng 1.1.1 Mơ hình tham khảo tầng OSI 1.1.2 Giao thức TCP/IP 1.1.3 So sánh giao thức TCP UDP 1.1.4 Địa IP 1.2 Lập trình mạng NET FRAMEWORK 1.2.1 Cơ sở lý thuyết NET 1.2.2 Lập trình Socket 10 1.2.3 Sử dụng lớp hỗ trợ đƣợc xây dựng từ lớp Socket .13 1.2.4 Sử dụng Thread ứng dụng mạng .15 CHƢƠNG : KỸ THUẬT LẬP TRÌNH WINDOW SERVICES 18 2.1 - Tổng quan windows service 18 2.1.1 Khác niệm window service .18 2.1.2 Bộ điều khiển dịch vụ .19 2.1.3 Cơ sở liệu dịch vụ cài đặt .19 2.1.4 Tài khoản dịch vụ 20 2.2 - Cấu trúc windows service NET 21 2.2.1 Cấu trúc tổng quát 21 2.2.2 Các phƣơng thức, thuộc tính lớp 21 CHƢƠNG - XÂY DỰNG CHƢƠNG TRÌNH THỰC NGHIỆM 26 3.1 - Mơ tả chƣơng trình thực nghiệm 26 3.2 - Thiết kế chƣơng trình 26 3.2.1 Server 26 3.2.2 Client .30 3.3 Kết đạt đƣợc 33 KẾT LUẬN .36 TÀI LIỆU THAM KHẢO 37 Đồ án tốt nghiệp Đại học Dân Lập Hải Phịng LỜI NĨI ĐẦU Tin học viễn thông hai thành phần cốt lõi công nghệ thơng tin Mạng máy tính khơng cịn thuật ngữ túy khoa học mà trở thành đối tƣợng nghiên cứu ứng dụng nhiều phạm vi hoạt động khác Những năm gần đây,do phát triển vũ bão cơng nghiệp máy tính,việc kết nối mạng máy tính trở thành nhu cầu thực cho ngƣời sử dụng Nhờ có mạng mà ngƣời dùng sử dụng máy tính đề điều khiển chƣơng trình máy tính khác mạng Ngoài việc kết nối mạng máy tính phát triển mạng khơng dây cịn giúp máy tính kết nối với thiết bị khơng dây Vì nhu cầu điều khiển thiết bị cố định từ thiết bị di động lớn Xuất phát từ yêu cầu em vào tìm hiểu lập trình socket với đề tài: "Tìm hiểu kỹ thuật lập trình Network Service" để kết nối mạng máy tính điều khiển chƣơng trình đơn giản Nhằm bƣớc đầu hiểu cách thức lập trình điều khiển từ xa Đề án trình bày gồm chƣơng: Chƣơng 1: Kỹ thuật lập trình mạng Chƣơng 2: Kỹ thuật lập trình window service Chƣơng 3: Xây dựng chƣơng trình thực nghiệm Đồ án đƣợc thực khoảng thời gian tƣơng đối ngắn nên không tránh khỏi cịn nhiều thiếu sót Em mong nhận đƣợc ý kiến đóng góp thầy ngƣời quan tâm Phạm Văn Ninh - CT1201 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng LỜI CẢM ƠN Trƣớc tiên em xin chân thành cảm ơn sâu sắc đến thầy cô trƣờng Đại học Dân Lập Hải Phịng, đặc biệt thầy khoa Khoa công nghệ thông tin truyền đạt kiến thức cho chúng em thời gian qua Em xin chân thành cảm ơn thầy Đỗ Xuân Toàn tận tình giúp đỡ, bảo hƣớng dẫn trực tiếp em để em hoàn thành tốt đồ án tốt nghiệp, thời gian làm đƣợc thầy hƣớng dẫn, em tiếp thu thêm nhiều kiến thức bổ ích q trình học tập nhƣ trình làm việc sau Em xin gửi lời cảm ơn đến tất bạn bè động viên, đóng góp ý kiến giúp đỡ q trình học tập, nghiên cứu hồn thành đồ án Và cuối ,kính chúc thầy sức khỏe, tiếp tục đạt đƣợc nhiều thành tích giảng dạy, nhƣ nghiên cứu khoa học nghiệp giáo dục Xin chân thành cảm ơn ! Hải Phòng, ngày tháng năm 2012 Sinh viên thực Phạm Văn Ninh Phạm Văn Ninh - CT1201 Đồ án tốt nghiệp Đại học Dân Lập Hải Phịng CHƢƠNG 1: KỸ THUẬT LẬP TRÌNH MẠNG 1.1 Tổng quan lập trình mạng 1.1.1 Mơ hình tham khảo tầng OSI Mơ hình kết nối hệ thống mở đƣợc Tổ chức quốc tế tiêu chuẩn hoá ISO (International Organizaiton for Standardization) đƣa nhằm cung cấp mơ hình chuẩn cho nhà sản xuất cung cấp sản phẩm viễn thông áp dụng theo để phát triển sản phẩm viễn thông Ý tƣởng mô hình hố đƣợc tạo cịn nhằm hỗ trợ cho việc kết nối hệ thống modun hoá thành phần phục vụ mạng viến thông a) Chức mơ hình OSI - Cung cấp kiến thức hoạt động kết nối liên mạng - Đƣa trình tự cơng việc để thiết lập thực giao thức cho kết nối thiết bị mạng Mơ hình OSI cịn có số thuận lợi sau : + Chia nhỏ hoạt động phức tạp mạng thành phần công việc đơn giản + Cho phép nhà thiết kế có khả phát triển modun chức Cung cấp khả định nghĩa chuẩn giao tiếp có tính tƣơng thích cao ―plug and play‖ tích hợp nhiều nhà cung cấp sản phẩm b) Cấu trúc mơ hình OSI Mơ hình OSI gồm lớp (level), lớp thực chức riêng cho hoạt động kết nối mạng Mơ hình lớp OSI Phạm Văn Ninh - CT1201 Đồ án tốt nghiệp Đại học Dân Lập Hải Phịng Tầng 1: Tầng vật lí (Physical Layer) Tầng vật lí định nghĩa tất đặc tả điện vật lý cho thiết bị Trong bao gồm bố trí chân cắm (pin), hiệu điện thế, đặc tả cáp nối (cable) Các thiết bị tầng vật lí bao gồm Hub, lặp (repeater), thiết bị tiếp hợp mạng (network adapter) thiết bị tiếp hợp kênh máy chủ (Host Bus Adapter) - (HBA dùng mạng lƣu trữ (Storage Area Network)) Chức dịch vụ đƣợc thực tầng vật lý bao gồm: + Thiết lập ngắt mạch kết nối điện (electrical connection) với môi trƣờng truyền dẫn phƣơng tiện truyền thông (transmission medium) + Tham gia vào quy trình mà tài nguyên truyền thông đƣợc chia sẻ hiệu nhiều ngƣời dùng Chẳng hạn giải tranh chấp tài nguyên (contention) điều khiển lƣu lƣợng + Điều biến (modulation), biến đổi biểu diễn liệu số (digital data) thiết bị ngƣời dùng tín hiệu tƣơng ứng đƣợc truyền qua kênh truyền thông (communication channel) Tầng 2: Tầng liên kết liệu (Data Link Layer) Tầng liên kết liệu cung cấp phƣơng tiện có tính chức quy trình để truyền liệu thực thể mạng, phát sửa chữa lỗi tầng vật lý có Cách đánh địa mang tính vật lý, nghĩa địa (địa MAC) đƣợc mã hóa cứng vào thẻ mạng (network card) chúng đƣợc sản xuất Hệ thống xác định địa khơng có đẳng cấp (flat scheme) Tầng 3: Tầng mạng (Network Layer) Tầng mạng cung cấp chức qui trình cho việc truyền chuỗi liệu có độ dài đa dạng, từ nguồn tới đích, thơng qua nhiều mạng, trì chất lƣợng dịch vụ (quality of service) mà tầng giao vận yêu cầu Tầng mạng thực chức định tuyến, Các thiết bị định tuyến (router) hoạt động tầng — gửi liệu khắp mạng mở rộng, làm cho liên mạng trở nên khả thi (cịn có thiết bị chuyển mạch (switch) tầng 3, gọi chuyển mạch IP) Đây hệ thống định vị địa lôgic (logical addressing scheme) – giá trị đƣợc chọn kỹ sƣ mạng Hệ thống có cấu trúc phả hệ Ví dụ điển hình giao thức tầng giao thức IP Phạm Văn Ninh - CT1201 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng Tầng 4: Tầng giao vận (Transport Layer) Tầng giao vận cung cấp dịch vụ chuyên dụng chuyển liệu ngƣời dùng đầu cuối, nhờ tầng khơng phải quan tâm đến việc cung cấp dịch vụ truyền liệu đáng tin cậy hiệu Tầng giao vận kiểm soát độ tin cậy kết nối đƣợc cho trƣớc Một số giao thức có định hƣớng trạng thái kết nối (state and connection orientated) Có nghĩa tầng giao vận theo dõi gói tin truyền lại gói bị thất bại Một ví dụ điển hình giao thức tầng TCP Tầng nơi thông điệp đƣợc chuyển sang thành gói tin TCP hoặcUDP Ở tầng địa đƣợc đánh address ports, thông qua address ports để phân biệt đƣợc ứng dụng trao đổi Tầng 5: Tầng phiên (Session layer) Tầng phiên kiểm soát (phiên) hội thoại máy tính Tầng thiết lập, quản lý kết thúc kết nối trình ứng dụng địa phƣơng trình ứng dụng xa Tầng cịn hỗ trợ hoạt động song cơng (duplex) bán song công (half-duplex) đơn công (Single) thiết lập qui trình đánh dấu điểm hồn thành (checkpointing) - giúp việc phục hồi truyền thông nhanh có lỗi xảy ra, điểm hồn thành đƣợc đánh dấu - trì hỗn (adjournment), kết thúc (termination) khởi động lại (restart) Mơ hình OSI uỷ nhiệm cho tầng trách nhiệm "ngắt mạch nhẹ nhàng" (graceful close) phiên giao dịch (một tính chất giao thức kiểm soát giao vận TCP) trách nhiệm kiểm tra phục hồi phiên, phần thƣờng không đƣợc dùng đến giao thức TCP/IP Tầng 6: Tầng trình diễn (Presentation layer) Lớp trình diễn hoạt động nhƣ tầng liệu mạng lớp máy tính truyền liệu làm nhiệm vụ dịch liệu đƣợc gửi từ tầng Application sang dạng Fomat chung Và máy tính nhận, lớp lại chuyển từ Fomat chung sang định dạng tầng Application Lớp thể thực chức sau: - Dịch mã kí tự từ ASCII sang EBCDIC - Chuyển đổi liệu, ví dụ từ số interger sang số dấu phảy động - Nén liệu để giảm lƣợng liệu truyền mạng - Mã hoá giải mã liệu để đảm bảo bảo mật mạng Phạm Văn Ninh - CT1201 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng Tầng 7: Tầng ứng dụng (Application layer) Tầng ứng dụng tầng gần với ngƣời sử dụng Nó cung cấp phƣơng tiện cho ngƣời dùng truy nhập thông tin liệu mạng thơng qua chƣơng trình ứng dụng Tầng giao diện để ngƣời dùng tƣơng tác với chƣơng trình ứng dụng, qua với mạng Một số ví dụ ứng dụng tầng bao gồm Telnet, Giao thức truyền tập tin FTP Giao thức truyền thƣ điện tử SMTP, HTTP, X.400 Mail remote 1.1.2 Giao thức TCP/IP IP họ giao thức để cung cấp phƣơng tiện truyền thông liên mạng đƣợc cấu trúc theo kiểu phân cấp Khác với mơ hình OSI tầng liên mạng sử dụng giao thức kết nối mạng "không liên kết" (connectionless) IP, tạo thành hạt nhân hoạt động Internet Cùng với thuật toán định tuyến RIP, OSPF, BGP, tầng liên mạng IP cho phép kết nối cách mềm dẻo linh hoạt loại mạng "vật lý" khác nhƣ: Ethernet, Token Ring , X.25 Giao thức trao đổi liệu "có liên kết" (connection - oriented) TCP đƣợc sử dụng tầng vận chuyển để đảm bảo tính xác tin cậy việc trao đổi liệu dựa kiến trúc kết nối "không liên kết" tầng liên mạng IP Các giao thức hỗ trợ ứng dụng phổ biến nhƣ truy nhập từ xa (telnet), chuyển tệp (FTP), dịch vụ World Wide Web (HTTP), thƣ điện tử (SMTP), dịch vụ tên miền (DNS) ngày đƣợc cài đặt phổ biến nhƣ phận cấu thành hệ điều hành thông dụng nhƣ UNIX (và hệ điều hành chuyên dụng họ nhà cung cấp thiết bị tính tốn nhƣ AIX IBM, SINIX Siemens, Digital UNIX DEC), Windows9x/NT, NovellNetware, Phạm Văn Ninh - CT1201 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng 1.1.3 So sánh giao thức TCP UDP UDP (User Datagram Protocol) giao thức cốt lõi giao thức TCP/IP Dùng UDP, chƣơng trình mạng máy tính gởi liệu ngắn đƣợc gọi datagram tới máy khác UDP không cung cấp tin cậy thứ tự truyền nhận mà TCP làm Các gói liệu đến khơng thứ tự bị mà khơng có thơng báo Tuy nhiên UDP nhanh hiệu mục tiêu nhƣ kích thƣớc nhỏ yêu cầu khắt khe thời gian Do chất không trạng thái nên hữu dụng việc trả lời truy vấn nhỏ với số lƣợng lớn ngƣời yêu cầu TCP (Transmission Control Protocol - "Giao thức điều khiển truyền vận") giao thức cốt lõi giao thức TCP/IP Sử dụng TCP, ứng dụng máy chủ đƣợc nối mạng tạo "kết nối" với nhau, mà qua chúng trao đổi liệu gói tin Giao thức đảm bảo chuyển giao liệu tới nơi nhận cách đáng tin cậy thứ tự TCP phân biệt liệu nhiều ứng dụng (chẳng hạn, dịch vụ Web dịch vụ thƣ điện tử) đồng thời chạy máy chủ Khác (cơ bản): Các header TCP UDP khác kích thƣớc (20 byte) nguyên nhân chủ yếu TCP phải hộ trợ nhiều chức hữu ích hơn(nhƣ khả khơi phục lỗi) UDP dùng byte cho phần header yêu cầu xử lý từ host TCP : - Dùng cho mạng WAN - Không cho phép gói tin - Đảm bảo việc truyền liệu - Tốc độ truyền thấp UDP UDP: - Dùng cho mạng LAN - Cho phép liệu - Không đảm bảo - Tốc độ truyền cao, VolP truyền tốt qua UDP Phạm Văn Ninh - CT1201 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng 1.1.4 Địa IP Địa IP (IP viết tắt từ tiếng Anh: Internet Protocol - giao thức Internet) địa đơn mà thiết bị điện tử sử dụng để nhận diện liên lạc với mạng máy tính cách sử dụng giao thức Internet Một cách đơn giản hơn: IP địa máy tính tham gia vào mạng nhằm giúp cho máy tính chuyển thơng tin cho cách xác, tránh thất lạc Có thể coi địa IP mạng máy tính giống nhƣ địa nhà bạn để nhân viên bƣu điện đƣa thƣ cho bạn ngƣời khác Bất kỳ thiết bị mạng nào, bao gồm định tuyến, chuyển mạch mạng, máy vi tính, máy chủ hạ tầng (nhƣ NTP, DNS, DHCP, SNMP, v.v.), máy in, máy fax qua Internet, vài loại điện thoại tham gia vào mạng có địa riêng địa đơn phạm vi mạng cụ thể Vài địa IP có giá trị đơn phạm vi Internet toàn cầu, số khác cần phải đơn phạm vi công ty Địa IP Tổ chức cấp phát số hiệu Internet (IANA) quản lý tạo IANA nói chung phân chia "siêu khối" đến Cơ quan Internet khu vực, từ lại phân chia thành khối nhỏ đến nhà cung cấp dịch vụ Internet công ty Phạm Văn Ninh - CT1201 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng (Kế thừa từ Object.) GetLifetimeService Trả thời gian tồn dịch vụ (Kế thừa từ MarshalByRefObject.) Trả đối tƣợng mà đại diện cho dịch vụ GetService đƣợc cung cấp thành phần, Container (Kế thừa từ Component.) Install Phƣơng thức đƣợc sử dụng công cụ cài đặt (Ghi đè Installer.Install(IDictionary)) Xác định trình cài đặt rõ cài đặt đối IsEquivalentInstaller tƣợng tƣơng nhƣ cài đặt (Kế thừa từ ComponentInstaller.) MemberwiseClone() Tạo đối tƣợng (Kế thừa từ Object.) MemberwiseClone Tạo đối tƣợng MarshalByRef (Boolean) Object (Kế thừa từ MarshalByRefObject.) OnAfterInstall Raises the AfterInstall event (Kế thừ từ Installer.) OnAfterRollback Raises the AfterRollback event (Kế thừ từ Installer.) OnAfterUninstall Raises the AfterUninstall event (Kế thừ từ Installer.) OnBeforeInstall Raises the BeforeInstall event (Kế thừ từ Installer.) OnBeforeRollback Raises the eforeRollback event (Kế thừ từ Installer.) OnBeforeUninstall Raises the BeforeUninstall event (Kế thừ từ Installer.) OnCommitted Raises the Committed event (Kế thừ từ Installer.) OnCommitting Raises the Committing event (Kế thừ từ Installer.) Phạm Văn Ninh - CT1201 23 Đồ án tốt nghiệp Đại học Dân Lập Hải Phịng * ServiceInstaller - Phƣơng thức Tên CreateObjRef Mơ tả Tạo đối tƣợng có chứa tất thơng tin có liên quan, cần thiết để tạo proxy đƣợc sử dụng để giao tiếp với đối tƣợng từ xa (Kế thừa từ MarshalByRefObject.) Dispose() Giải phóng tất tài nguyên đƣợc sử dụng Component (Kế thừa từ Component.) Dispose(Boolean) Giải phóng nguồn tài nguyên (khác với nhớ) đƣợc sử dụng ServiceBase (Overrides Component.Dispose(Boolean).) Equals(Object) Xác định xem Object đƣợc định tƣơng đƣơng với Object (Kế thừa từ Object.) GetHashCode GetLifetimeService Server nhƣ hàm băm cho loại hình cụ thể (Kế thừa từ Object.) Trả thời gian tồn dịch vụ (Kế thừa từ MarshalByRefObject.) GetService Trả đối tƣợng mà đại diện cho dịch vụ đƣợc cung cấp thành phần, Container (Kế thừa từ Component.) Install Phƣơng thức đƣợc sử dụng công cụ cài đặt (Ghi đè Installer.Install(IDictionary)) Xác định trình cài đặt rõ cài đặt đối IsEquivalentInstaller tƣợng tƣơng nhƣ cài đặt (Kế thừa từ ComponentInstaller.) MemberwiseClone() Phạm Văn Ninh - CT1201 Tạo đối tƣợng (Kế thừa từ Object.) 24 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng MemberwiseClone Tạo đối tƣợng MarshalByRefObject (Boolean) (Kế thừa từ MarshalByRefObject.) OnAfterInstall Raises the AfterInstall event OnAfterRollback Raises the AfterRollback event OnAfterUninstall Raises the AfterUninstall event OnBeforeInstall Raises the BeforeInstall event OnBeforeRollback Raises the BeforeRollback event OnBeforeUninstall Raises the BeforeUninstall event OnCommitted Raises the Committed event OnCommitting Raises the Committing event Phạm Văn Ninh - CT1201 25 Đồ án tốt nghiệp Đại học Dân Lập Hải Phịng CHƢƠNG - XÂY DỰNG CHƢƠNG TRÌNH THỰC NGHIỆM 3.1 - Mơ tả chƣơng trình thực nghiệm - Phần Server, chạy dƣới dạng Network Service với tính năng: + Chạy ngầm dƣới dạng service với quyền hệ thống + Lắng nghe yêu cầu kết nối từ Client cổng TCP + Nhận lệnh từ Client kết nối đƣợc chấp thuận thực thi lệnh dƣới quyền Administrator + Tạo FTP server dƣới dạng service để giúp truyền file cho Client có u cầu + Server khơng cần giao diện ngƣời dùng - Phần Client bao gồm chức năng: + Thực kết nối tới Server + Gửi lệnh tới Server nhận trạng thái lệnh từ server + Thực kết nối tới FTP server thực truyền/nhận file + Có giao diện chính: Giao diện gửi lệnh giao diện FTP client 3.2 - Thiết kế chƣơng trình 3.2.1 Server a) Các chức Lắng nghe kết nối * Lưu đồ Bắt đầu Khởi tạo Socket Đăng ký với hệ thống Lắng nghe kết nối S Chạy Server Đ Chấp nhận kết nối Accept() Hủy Socket Nhận(Revc) Truyền(Send) Kết thúc Đóng kết nối Phạm Văn Ninh - CT1201 26 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng *Giải thuật - Tạo socket , đăng kí với hệ thống ( hàm bind) - Đặt socket chế độ chờ , lắng nghe kết nối - Khi có request từ client , chấp nhận kết nối , tạo process để xử lý - Quay lại trạng thái chờ lắng nghe kết nối - Công việc process gồm : + Nhận thông tin kết nối client + Giao tiếp với client theo giao thức lớp ứng dụng thiết kế + Đóng kết nối kết thúc process Chạy chương trình Client gửi yêu cầu *Giải thuật - Input: Tên tiến trình - Output: Thực thi tiến trình Bƣớc 1: Tạo đối tƣợng ProcessStartInfo Bƣớc 2: Gán tên tiến trình Bƣớc 3: Tạo đối tƣợng Process Bƣớc 4: Gán đối tƣợng ProcessStartInfo cho thuộc tính StartInfo đối tƣợng Process Bƣớc 5: Start đối tƣợng Process Truyền file - Input: Địa đầy dủ file cần truyền - Output: File đƣợc truyền Bƣớc 1: Truyền thông tin file cần gửi ( Đƣờng dẫn đầy đủ) Bƣớc 2: Mở file cần truyền Bƣớc 3: Lặp liên tục đến truyền xong có yêu cần ngừng gửi: + Đọc từ file nguồn mảng byte vào buffer + Ghi mảng byte vào socket stream Bƣớc 4: Kết thúc q trình ( Đóng file ) Phạm Văn Ninh - CT1201 27 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng Nhận file - Input: Đƣờng dẫn lƣu file - Output: File đƣợc nhận Bƣớc 1: Nhận thông tin file cần nhận từ bên truyền Bƣớc 2: Tạo mở/tạo file để lƣu file chuẩn bị nhận Bƣớc 3: Dùng buffer để đọc ghi liệu Bƣớc 4: Lặp liên tục đến nhận xong có yêu cần ngừng nhận: + Đọc từ socket stream mảng byte vào buffer + Ghi mảng byte đọc đc vô file lƣu Bƣớc 5: Kết thúc q trình ( Đóng file ) b) Các lớp đối tượng sử dụng Lớp Socket: đƣợc sử dụng để tạo kết nối chƣơng trình Client and chƣơng trình Server * Các phương thức sử dụng Tên Mô tả Accept() Tạo Socket client kết nối đến Bind() Gán tên cho Socket Xác định số lƣợng kết nối chờ đƣợc xếp hàng cho Listen() server socket Receive(Byte[]) Send(Byte[], Int32, SocketFlags) Chứa số byte thực nhận đƣợc Gửi liệu Lớp ProcessStartInfo: Sử dụng để định chi tiết cho ứng dụng cần chạy * Các thuộc tính sử dụng Tên Mơ tả FileName Tên ứng dụng cần chạy UseShellExecute Gọi Shell hệ điều hành Verb Hành động chạy ứng dụng Phạm Văn Ninh - CT1201 28 Đồ án tốt nghiệp Đại học Dân Lập Hải Phịng Lớp Process: Sử dụng để để mơ tả tiến trình mới, gán đối tƣợng ProcessStartInfo cho thuộc tính StartInfo đối tƣợng Process, khởi chạy ứng dụng cách gọi Process.Start() Lớp NetworkStream: Cung cấp phƣơng thức gửi nhận liệu dạng mảng byte * Các thuộc tính sử dụng Mơ tả Tên Read Đọc liệu từ NetworkStream Write Ghi liệu tới NetworkStream Flush Cho xoá tất buffer writer hành Lớp FileStream: Đƣợc sử dụng đọc viết liệu vào từ file * Các thuộc tính sử dụng Mơ tả Tên Read Đọc khối byte từ stream ghi liệu vào buffer Write Ghi khối byte tới stream cách sử dụng buffer Flush Cho xoá tất buffer writer hành Lớp ServiceController: D * Các phương thức sử dụng Mô tả Tên Refresh Làm lại trạng thái dịch vụ Start() Khởi động dịch vụ Stop Dừng dịch vụ Startus Lấy thông tin trạng thái dịch vụ Phạm Văn Ninh - CT1201 29 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng 3.2.2 Client a) Các chức Chức kết nối gửi lệnh tới Server * Giải thuật - Xác định địa server - Tạo socket - Kết nối đến server - Gửi / nhận liệu theo giao thức lớp ứng dụng thiết kế - Đóng kết nối * Giao diện chương trình (1): Textbox nhập địa IP server (2): Textbox nhập số cổng (3): Textbox hiển thị thông tin thực lệnh (4): Textbox nhập lệnh (5): Button kết nối (6): Button ngắt kết nối (7): Button gửi lệnh Phạm Văn Ninh - CT1201 30 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng * Quá trình hoạt động - Khi ngƣời dùng nhấn nút kết nối (5) để kết nối đến Server + Nếu địa IP, số cổng khơng chƣơng trình hiển thị thông báo lỗi + Nếu kết nối thành cơng chức gửi lệnh đƣợc hiển thị - Khi ngƣời dùng nhập lệnh ô nhập lệnh (4) + Khi ngƣời dùng gửi lệnh "ftp" chƣơng trình gửi yêu cầu khởi động dịch vụ FTP bên server chờ kết trả server - Nếu Server thông báo lại dịch vụ đƣợc khởi động Client gọi chƣơng trình FTP Client - Nếu Server thông báo lại dịch vụ khơng khởi động đƣợc FTP Client khơng đƣợc hiển thi + Khi ngƣời dùng gửi khác với lệnh "ftp" chƣơng trình yêu cầu chạy chƣơng trình bên Server - Khi ngƣời dùng nhấn nút ngắt kết nối (6) chƣơng trình gửi lệnh "quit" yêu cầu ngắt kết nối đến Server Chức Download , Upload * Giao diện chương trình Phạm Văn Ninh - CT1201 31 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng (1): Textbox hiển thị đƣờng dẫn tệp tin (2): Textbox hiển thị đƣờng dẫn tệp tin bên FTP (3): Treeview hiển thị thƣ mục máy Cliert (4): Listview hiển thị danh sách file bên Client (5): Listview hiển thị danh sách file bên FTP Server (6): Button quay lại thƣ mục trƣớc (7): Button download (8): Button upload (9): Button làm danh sách * Quá trình hoạt động - Chƣơng trình đƣợc gọi có lệnh "ftp" thành cơng - Khi chƣơng trình bắt đầu khởi động danh sách file bên Server gửi hiển thị ô số (5) - Khi ngƣời dùng nhấn nút Download chƣơng trình kiểm tra tồn file ô (5) đƣờng dẫn (1) + Nếu đủ điều kiện u cầu tải xuống đƣợc gửi đến server Sau Server nhận yêu cầu thực thì file đƣợc tải lƣu theo đƣờng dẫn ô (1) + Nếu đƣờng dẫn không chƣa chọn file cần tải chƣơng trình hiển thị thông báo cho ngƣời dùng yêu cầu kiểm tra lại - Khi ngƣời dùng nhấn nút Upload chƣơng trình kiểm tra tồn file ô (4) đƣờng dẫn ô (2) + Nếu đủ điều kiện yêu cầu tải lên đƣợc gửi đến server Sau Server nhận yêu cầu thực thì file đƣợc tải lên server theo đƣờng dẫn ô (2) + Nếu đƣờng dẫn không chƣa chọn file cần tải chƣơng trình hiển thị thông báo cho ngƣời dùng yêu cầu kiểm tra lại Phạm Văn Ninh - CT1201 32 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng 3.3 Kết đạt đƣợc * Một số hình ảnh trình chạy chƣơng trình Giao diện chưa kết nối tới server Phạm Văn Ninh - CT1201 33 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng Giao diện nhấn nút kết nối tới server Phạm Văn Ninh - CT1201 34 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng Giao diện thực lệnh "ftp" Giao diện nhấn nút Tải xuống, file lưu theo đường dẫn: E:\Demo Giao diện nhấn nút Tải lên File "Ghi chu.txt" tải lên thư mục \Demo server Phạm Văn Ninh - CT1201 35 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng KẾT LUẬN Với đề tài ―Tìm hiểu kỹ thuật lập trình Network service‖ Em mang nhƣng kiến thức đƣợc học nhà trƣờng đem vận dụng vào thực tế để xây dựng tốn Qua em có điều kiện trau dồi, nâng cao kiến thức học Với yêu cầu tốn đặt đồ án em bƣớc đầu đạt đƣợc số kết sau: - Đã triển khai đƣợc mơ hình Client-Server mức đơn giản - Tìm hiểu đƣợc kiểu liệu, số lớp, đối tƣợng lập trình Socket - Tìm hiểu đƣợc số lớp, đối tƣợng lập trình service cho windows - Cài đặt đƣợc ứng dụng dƣới dạng dịch vụ Tuy nhiên, chƣơng trình cịn số hạn chế nhƣ: - Chƣơng trình chạy dễ phát trình lỗi, ngoại lệ khơng kiểm sốt hết đƣợc -Mới xây dựng cho client đơn giản, chƣa xây dựng đƣợc chƣơng trình client – server có tính chuyên nghiệp cao - Dịch vụ đơn gian, khó theo dõi trình hoạt động Hƣớng phát triển tƣơng lai: - Xây dựng chƣơng trình client – server hồn thiện - Xây dựng chƣơng trình có khả kiểm soát lỗi tốt, kiểm soát ngoại lệ Do kiến thức hạn chế nên đồ án tốt nghiệp em chắn khơng tránh khỏi thiếu sót Em mong có đƣợc ý kiến đánh giá, đóng góp thầy bạn để nội dung đồ án thêm hoàn thiện Phạm Văn Ninh - CT1201 36 Đồ án tốt nghiệp Đại học Dân Lập Hải Phòng TÀI LIỆU THAM KHẢO [1] Đề tài " Xây dựng chƣơng trình quản lý máy tính mạng LAN", Tồn Thất Tƣ [2] Đồ án " Lập trình mạng nâng cao", Quốc Nhựt – Trọng Việt – Ngọc Trí, Cao đẳng Cơng nghệ thơng tin Hữu nghị Việt – Hàn [3] http://www.tenouk.com/ModuleDD.html [4] http://www.codeproject.com [5] http://www google.com Phạm Văn Ninh - CT1201 37 ... cầu em vào tìm hiểu lập trình socket với đề tài: "Tìm hiểu kỹ thuật lập trình Network Service" để kết nối mạng máy tính điều khiển chƣơng trình đơn giản Nhằm bƣớc đầu hiểu cách thức lập trình điều... lập trình điều khiển từ xa Đề án trình bày gồm chƣơng: Chƣơng 1: Kỹ thuật lập trình mạng Chƣơng 2: Kỹ thuật lập trình window service Chƣơng 3: Xây dựng chƣơng trình thực nghiệm Đồ án đƣợc thực... giản - Tìm hiểu đƣợc kiểu liệu, số lớp, đối tƣợng lập trình Socket - Tìm hiểu đƣợc số lớp, đối tƣợng lập trình service cho windows - Cài đặt đƣợc ứng dụng dƣới dạng dịch vụ Tuy nhiên, chƣơng trình