Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
455 KB
File đính kèm
BaiTapLonLapTrinhMang.rar
(2 MB)
Nội dung
Xây dựng chương trình Share Desktop TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI NGHIÊN CỨU GIAO THỨC VÀ XÂY DỰNG CHƯƠNG TRÌNH HỖ TRỢ DẠY HỌC TRONG PHÒNG THỰC HÀNH Người thực hiện: Nguyễn Thị Lệ Hoa Trần Hữu Vũ Người hướng dẫn: Đào Anh Hiển HƯNG YÊN - NĂM 2012 Lập Trình Mạng Trang Xây dựng chương trình Share Desktop NHẬN XÉT CỦA GIÁO VIÊN HƯƠNG DẪN ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………………………… Hưng Yên, ngày … tháng … năm 2012 Lập Trình Mạng Trang Xây dựng chương trình Share Desktop MỤC LỤC MỤC LỤC MỤC LỤC BẢNG MỤC LỤC HÌNH .5 LỜI MỞ ĐẦU CHƯƠNG 1: LẬP TRÌNH MẠNG TRONG NET FRAMEWORK Sử dụng lớp hỗ trợ xây dựng từ lớp Socket .7 Socket không đồng 10 Sử dụng Thread ứng dụng mạng 14 CHƯƠNG 3: CHƯƠNG TRÌNH SHARE DESKTOP 17 Giới thiệu giao thức Share Desktop: .17 Chương trình: .20 KÊT LUẬN 23 TÀI LIỆU THAM KHẢO 24 Lập Trình Mạng Trang Xây dựng chương trình Share Desktop MỤC LỤC BẢNG Bảng 1: Các phương thức khởi tạo lớp TcpClient Bảng 2: Các thuộc tính lớp TcpClient Bảng 3: Các phương thức lớp TcpClient Bảng 4: Các phương thức khởi tạo lớp TcpListener Bảng 5: Các phương thức lớp TcpListener .8 Bảng 6: Các phương thức khởi tạo lớp UDPClient Bảng 7: Các phương thức lớp UDPClient .9 Bảng 8: Các phương thức Socket 11 Bảng 9: Các phương thức sử dụng Thread 14 Bảng 10: Các thuộc tính thường dùng Thread .15 Bảng 11: Các phương thức sử dụng Threadpool 15 Lập Trình Mạng Trang Xây dựng chương trình Share Desktop MỤC LỤC HÌNH Hinh 1: Mô hình sử lý kiện Windows 11 Hinh 2: Mô hình mạng chương trình Share Desktop .17 Hinh 3: Giao thức chương trình Share Desktop 18 Hinh 4: Giao diện server client kết nối thành công 20 Hinh 5: Giao diện server nhận file từ client .21 Hinh 6: Giao diện Client kết nối thành công với Server 21 Hinh 7: Giao diện Client gửi file đến Server .22 Lập Trình Mạng Trang Xây dựng chương trình Share Desktop LỜI MỞ ĐẦU Sự phát triển vũ bão ngành công nghệ thông tin kéo theo dịch vụ mạng ngày phát triển, mở rộng hoàn thiện hơn, tồn nhiều khuyết điểm song không tiện lợi từ công nghệ đem lại cho xã hội loài người nhanh chóng xác Thư điện tử dần thay thư tay, hội nghị truyền hình với âm hình ảnh trực tiếp giúp linh hoạt hóa công việc tổ chức, đoàn thể Người bác sĩ trực tiếp đứng phòng mổ thực ca phẫu thuật với xác cao, độ an toàn tuyệt đối… nhiều lợi ích mà công nghệ thông tin đem lại cho chúng ta, dựa vào đâu mà công nghệ thực điều tưởng chừng tích tắc vậy? Ngôn ngữ lập trình phần thiếu việc xây dựng nên giới công nghệ linh hoạt mạnh mẽ Không gian làm việc Microsoft Net tổng hợp bốn ngôn ngữ lập trình: C#, VB.NET, Managed C++, and J# NET có chồng gối lên ngôn ngữ, định nghĩa FCL (framework class library) Hỗ trợ cho lập trình viên phát triển ứng dụng mạng với kích thước nhẹ mạnh mẽ xử lý Dựa kiến thức lập trình mạng với C#, đa dạng dịch vụ mạng với nhiều tính đòi hỏi ngày cao Từ ý tưởng xây dựng chương trình có khả tương tác với máy tính từ xa thông qua hệ thống mạng, chương trình Remote desktop xây dựng, dựa theo mô hình Client-Server hỗ trợ tính tương tác với máy tính từ xa tắt máy, khởi động lại máy, ngủ đông, khóa máy, chạy số ứng dụng, gửi thông điệp, gửi file hay lấy file từ máy điều khiển… sử dụng ngôn ngữ lập trình C# Trong trình xây dựng chương trình không tránh khỏi sai xót kính mong thầy cô bạn đóng góp ý kiến xây dựng để nhóm hoàn thiện Chúng em xin chân thành cảm ơn! Lập Trình Mạng Trang Xây dựng chương trình Share Desktop CHƯƠNG 1: LẬP TRÌNH MẠNG TRONG NET FRAMEWORK Sử dụng lớp hỗ trợ xây dựng từ lớp Socket 1.1 Lớp TCPClient Dùng giao thức hai bên không cần phải thiết lập kết nối trước gửi mức dộ tin cậy không cao Để đảm bảo độ tin cậy ứng dụng mạng người ta sử dụng giao thức khác gọi giao thức có kết nối: TCP (transport control protocol) Để lập trình theo giao thức TCP, MS.NET cung cấp hai lớp có tên TCPClient TCPListener Các thành phần lớp TcpClient - Phương thức khởi tạo: Bảng 1: Các phương thức khởi tạo lớp TcpClient Constructor method Name Description TcpClient () Tạo đối tượng TcpClient Chưa đặt thông số TcpClient (IPEndPoint) Tạo TcpClient gắn cho EndPoint cục (gán địa máy cục số hiệu cổng để sử dụng trao đổi thông tin sau) TcpClient (RemoteHost: Tạo đối tượng TcpClient kết nối đến máy String Int32) có địa số hiệu cổng truyền vào RemoteHost địa IP chuẩn tên máy - Một số thuộc tính: Bảng 2: Các thuộc tính lớp TcpClient Name Description Available Cho biết số byte nhận từ mạng có sẵn để đọc Client Trả socket ứng với TCPClient hành Connected Trạng thái cho biết kết nối đến server hay chưa ? - Một số phương thức: Lập Trình Mạng Trang Xây dựng chương trình Share Desktop Bảng 3: Các phương thức lớp TcpClient Name Description Close Giải phóng đối tượng TcpClient không đóng kết nối Connect Kết nối đến máy TCP khác có tên số hiệu cổng (RemoteHost, Port) GetStream Trả NetworkStream để từ giúp ta gửi hay nhận liệu ( thường làm tham số tạo StreamReader StreamWriter) Khi gắn vào StreamReader vá StreamWriter ta gửi nhận liệu thông qua phương thức Readln, writeline tương ứng lớp 1.2 Lớp TCPListener TCPListener lớp cho phép người lập trình xây dựng ứng dụng server Các thành phần lớp TcpListener: - Phương thức khởi tạo: Bảng 4: Các phương thức khởi tạo lớp TcpListener Constructor method Name Description TcpListener (Port: Int32) Tạo TcpListener lắng nghe cổng định TcpListener (IPAddress, Tạo TcpListener lắng nghe kết nối đến Int32) địa IP cổng định TcpListener Tạo TcpListener với giá trị EndPoint truyền vào (IPEndPoint) - Các phương thức khác: Bảng 5: Các phương thức lớp TcpListener Name Description AcceptTcpClient Chấp nhận yêu cầu kết nối chờ (ứng dụng dừng Lập Trình Mạng Trang Xây dựng chương trình Share Desktop câu lệnh có kết nối đến) AcceptSocket Chấp nhận yêu cầu kết nối chờ Pending Cho biết liệu có kết nối chờ đợi không? ( True = có) Start Bắt đầu lắng nghe yêu cầu kết nối Stop Dừng việc nghe 1.3 Lớp UDPClient Giao thức UDP (user datagram protocol hay user define protocol) giao thức phi kết nối có nghĩa bên gửi liệu cho bên mà không cần biết bên có sẵn sàng hay chưa? Giao thức không tin cậy giao thức TCP tốc độ nhanh dễ cài đặt ra, với giao thức UDP ta gửi gói tin quảng bá đến nhiều máy Trong NET, lớp UDPClient đóng gói chức giao thức UDP - Các phương thức khởi tạo: Bảng 6: Các phương thức khởi tạo lớp UDPClient Constructor method Description UdpClient () Tạo đối tượng (thể hiện) lớp UDPClient UdpClient (AddressFamily) Tạo đối tượng lớp UDPClient Thuộc dòng địa định UdpClient (Int32) Tạo UdpClient gắn cổng cho UdpClient (IPEndPoint) Tạo UdpClient gắn IPEndPoint cho UdpClient (Int32, Tạo UdpClient gắn số hiệu cổng, AddressFamily) AddressFamily UdpClient (String, Int32) Tạo UdpClient thiết lập với máy trạm từ xa mặc định - Các phương thức: Bảng 7: Các phương thức lớp UDPClient Lập Trình Mạng Trang Xây dựng chương trình Share Desktop Name Description BeginReceive Nhận liệu không đồng từ máy tính từ xa BeginSend Gửi không đồng liệu tới máy xa Close Đóng kết nối Connect Thiết lập default remote host EndReceive Kết thúc nhận liệu không đồng EndSend Kết thúc việc gửi liệu không đồng Receive Nhận liệu (đồng bộ) máy tính xa gửi Send Gửi liệu (đồng bộ) cho máy xa Socket không đồng 2.1 Mô hình xử lý kiện Windows Mô hình sử lý kiện thể qua mô hình sau: Thông qua mô hình ta ủy nhiệm cho môt thủ tục thực kiện sảy Control Lập Trình Mạng Trang 10 Xây dựng chương trình Share Desktop Hinh 1: Mô hình sử lý kiện Windows 2.2 Sử dụng Socket không đồng Để lập trình không đồng với Socket sử dụng phương thức cho việc sử dụng bất đồng Các phương thức cho việc lập trình bất đồng chia làm bắt đầu Begin End: - Phương thức bắt đầu Begin, bắt đầu chức đăng ký với phương thức AsyncCallback - Bắt đầu End chức hoàn thành AsyncCallback đươc gọi Bảng 8: Các phương thức Socket Requests Started By … Description of Request Requests Ended BY … BeginAccept () To accept an incoming EndAccept () connection BeginConnect () To connect to a remote host EndConnect () BeginReceive () To retrieve data from a socket EndReceive () BeginReceiveFrom () To retrieve data from a specific EndReciveFrom() remote host BeginSend () To send data from a socket EndSend () BeginSendTo () To send data to a specific EndSendTo () remote host Để chấp nhận kết nối bất đồng ta sử dụng phương thức BeginAccept() EndAccept() sau: - Phương thức BeginAccept() EndAccept() IAsyncResult BeginAccept(AsyncCallback callback, object state) Socket EndAccept(IAsyncResult iar); Để thiết lập phương thức kết nối theo cách bất đồng ta sử dụng phương thức BeginConnect() EndConnect() sau: - Phương thức BeginConnect() EndConnect() Lập Trình Mạng Trang 11 Xây dựng chương trình Share Desktop Socket newsock = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp); IPEndPoint iep =new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9050); newsock.BeginConnect(iep, new AsyncCallback(Connected), newsock); Trong phương thức Connected thường viết sau: public static void Connected(IAsyncResult iar) { Socket sock = (Socket)iar.AsyncState; try {sock.EndConnect(iar); } catch (SocketException) { Console.WriteLine("Unable to connect to host");} } Để gửi liệu bất đồng làm sau: - Phương thức BeginSend() EndSend() BeginSend() IAsyncResult BeginSend(byte[] buffer, int offset, int size, SocketFlags sockflag, AsyncCallback callback, object state) EndSend() int EndSend(IAsyncResult iar) Trong phương thức SendData thường viết sau: private static void SendData(IAsyncResult iar) { Socket server = (Socket)iar.AsyncState; int sent = server.EndSend(iar); } Tương tự giao thức hướng kết nối ta sử dụng gửi liệu theo giao thức không hướng kết nối thực tương tự sau: - Phương thức BeginSendTo() EndSendTo() Lập Trình Mạng Trang 12 Xây dựng chương trình Share Desktop IAsyncResult BeginSendTo(byte[] buffer,int offset,int size,SocketFlags sockflag, EndPoint ep, AsyncCallback callback, object state) Để nhận liệu bất đồng ta thực sau: - Nhận liêu với giao thức hướng kết nối: Phương thức BeginRecieve EndRecive() sock.BeginReceive(data, 0, data.Length, SocketFlags.None, new AsyncCallback(ReceivedData), sock); - Với ReceivedData định nghĩa sau: void ReceivedData(IAsyncResult iar) { Socket remote = (Socket)iar.AsyncState; int recv = remote.EndReceive(iar); string receivedData = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(receivedData); } - Nhận liệu bất đồng với giao thức không hướng kết nối Phương thức BeginReceiveFrom() EndReceiveFrom() sock.BeginReceive(data,0,data.Length,SocketFlags.None,refiep,new AsyncCallback (ReceiveData) , sock); void ReceiveData(IasyncResult iar){ Socket remote = (Socket)iar.AsyncState; int recv = remote.EndReceiveFrom(iar); string stringData = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(stringData); } Lập Trình Mạng Trang 13 Xây dựng chương trình Share Desktop Sử dụng Thread ứng dụng mạng 3.1 Một số khái niệm Đa nhiệm (multitasking ): khả hệ điều hành làm nhiều công việc thời điểm Tiến trình (Process): chạy ứng dụng hệ điều hành cấp phát riêng cho ứng dụng nhớ tài nguyên khác Bộ nhớ tài nguyên vật lý riêng biệt gọi tiến trình Các tài nguyên nhớ tiến trình tiến trình phép truy cập Tuyến (Thread ): hệ thống tiến trình có nhiều chuỗi thực tách biệt khác chạy đồng thời chuỗi thực gọi tuyến (Thread) Trong ứng dụng Thread khởi tạo gọi Thread sơ cấp hay Thread 3.2 Sử dụng Thread chương trình Net Để sử dụng Thread NET ta sử dụng namespace System.Threading Một số phương thức thường dùng: Bảng 9: Các phương thức sử dụng Thread Public Method Mô tả Abort () Kết thúc Thread Join () Buộc chương trình phải chờ cho thread kết thúc (Block) thực tiếp (các câu lệnh đứng sau Join) Resume () Tiếp tục chạy thread tạm ngừng – suspended Sleep () Static method: tạm dừng thread khoảng thời gian Start () Bắt đầu chạy (khởi động) thread Sau gọi phương thức này, trạng thái thread chuyển từ trạng thái hành sang Running Suspend () Tạm ngưng thread (phương thức loại khỏi phiên VS.NET 2005) Một số thuộc tính thường dùng: Lập Trình Mạng Trang 14 Xây dựng chương trình Share Desktop Bảng 10: Các thuộc tính thường dùng Thread Public Property Mô tả CurrentThread This static property: trả thread hành chạy IsAlive Trả giá trị cho biết trạng thái thực thi thread hành IsBackground Sets or gets giá trị cho biết thread background hay foreground thread IsThreadPoolThread Gets a value indicating whether a thread is part of a thread pool Priority Sets or gets giá trị để định độ ưu tiên ( dành nhiều hay CPU cho thread) Cao 4, thấp ThreadState Lấy trạng thái thread (đang dừng, hay chạy…) Tạo tuyến C# …… Thread newThread=newThread(new ThreadStart(newMethod)); …… } void newMethod() { } 3.3 Sử dụng Threadpool chương trình Net Bảng 11: Các phương thức sử dụng Threadpool Method Description (Mô tả) BindHandle () Binds an operating system handle to the thread pool GetAvailableThreads() Gets the number of worker threads available for use in the thread pool GetMaxThreads () Lập Trình Mạng Gets the maximum number of worker Trang 15 Xây dựng chương trình Share Desktop threads available in the thread pool QueueUserWorkItem () Queues a user delegate waiting for a WaitHandle object UnsafeQueueUserWorkItem () Queues an unsafe user delegate to the thread pool but does not propagate the calling stack onto the worker thread UnsafeRegisterWaitForSingleObject() Registers an unsafe delegate waiting for a WaitHandle object Lập Trình Mạng Trang 16 Xây dựng chương trình Share Desktop CHƯƠNG 3: CHƯƠNG TRÌNH SHARE DESKTOP Giới thiệu giao thức Share Desktop: Giao thức Share Desktop kết nối với giao diện đồ họa thiết kế để tạo điều kiện thuận lợi cho người sử dụng tương tác với hệ máy tính từ xa cách cập nhật thông tin đồ họa đến từ máy tính từ xa tới người sử dụng đồng thông tin quản lý người dùng tương tác đến máy tính xa, giống ngồi máy Giao thức cung cấp chế cho phép đơn giản hóa việc truyền thông chuyên dụng mở rộng người sử dụng máy tính trực tiếp thành phần chạy máy tính xa Hinh 2: Mô hình mạng chương trình Share Desktop Lập Trình Mạng Trang 17 Xây dựng chương trình Share Desktop Hinh 3: Giao thức chương trình Share Desktop • Một gói liệu gửi từ Client có định dạng: [Lệnh]#[Dữ liệu 1]# #[Dữ liệu N] Lệnh lệnh sau đây: {KetNoi, YeuCauGuiFile, GuiFile, ChapNhanFile, NhanFileThanhCong, KhongChapNhanFile, NgatKetNoi} Lập Trình Mạng Trang 18 Xây dựng chương trình Share Desktop KetNoi: lệnh yêu cầu kết nối với server (Dữ liệu: tên máy tính client, địa máy client) YeuCauGuiFile: lệnh yêu cầu gửi file (Dữ liệu: tên máy client, địa client, tên file, kích thước file) GuiFile: lệnh bắt đầu gửi file ChapNhanFile: lệnh chấp nhận file gửi từ server NhanFileThanhCong: lệnh thong báo nhận file thành công KhongChapNhanFile: lệnh không nhận file từ server NgatKetNoi: lệnh ngắt kết nối • Một gói liệu gửi từ Server có định dạng: [Lệnh]#[Dữ liệu 1]# #[Dữ liệu N] Lệnh lệnh sau đây: {KetNoiThanhCong, YeuCauGuiFile, GuiFile, ChapNhanFile, NhanFileThanhCong, KhongChapNhanFile, ShareDesktop} KetNoiThanhCong: lệnh thong báo kết nối thành công (Dữ liệu: tên máy tính server) YeuCauGuiFile: lệnh yêu cầu gửi file (Dữ liệu: tên file, kích thước file) GuiFile: lệnh bắt đầu gửi file ChapNhanFile: lệnh chấp nhận file gửi từ client NhanFileThanhCong: lệnh thông báo nhận file thành công KhongChapNhanFile: lệnh không nhận file từ client ShareDesktop: lệnh yêu cầu share dektop Lập Trình Mạng Trang 19 Xây dựng chương trình Share Desktop Chương trình: 2.1 Yêu cầu toán: Dựa nên tảng giao thức Share Desktop có sẵn, tiến hành xây dựng mô hình Client-Server hỗ trợ tính tương tác với máy tính từ xa gửi file, nhận file, share desktop,… sử dụng ngôn ngữ lập trình C# 2.2 Chương trình: 2.2.1 Server Hinh 4: Giao diện server client kết nối thành công Lập Trình Mạng Trang 20 Xây dựng chương trình Share Desktop Hinh 5: Giao diện server nhận file từ client 2.2.2 Client Hinh 6: Giao diện Client kết nối thành công với Server Lập Trình Mạng Trang 21 Xây dựng chương trình Share Desktop Hinh 7: Giao diện Client gửi file đến Server Lập Trình Mạng Trang 22 Xây dựng chương trình Share Desktop KÊT LUẬN Kết đạt Đề tài viết chương trình Share desktop thức nội dung - Tìm hiểu cách lập trình đa luồng NET - Tìm hiểu cách hoạt động chương trình điểu khiển máy tính từ xa đơn giản Ưu nhược điểm chương trình - Ưu điểm Đơn giản gọn nhẹ - Nhược điểm Chưa nhìn thấy hình client Khó sử dụng việc mở ứng dụng lấy file Hướng phát triển Về bản, nghiên cứu đạt yêu cầu đặt Tuy nhên có điều kiện, đồ án cố gắng phát triển thêm chức sau: - Có thể nhìn thấy hình máy client, server - Điều khiển client client Lập Trình Mạng Trang 23 Xây dựng chương trình Share Desktop TÀI LIỆU THAM KHẢO Tài liệu: [1] Dương Quang Thiện, 2005, NET toàn tập [2] Nguyễn Ngọc Bình Phương, 2005, Các giải pháp lập trình C# [3] Sybex, 2003, C-Sharp Network Programming Các trang Web [1] http://www.codeproject.com [2] http://www.codeguru.com Lập Trình Mạng Trang 24 [...]... ngữ lập trình C# 2.2 Chương trình: 2.2.1 Server Hinh 4: Giao diện server khi client kết nối thành công Lập Trình Mạng Trang 20 Xây dựng chương trình Share Desktop Hinh 5: Giao diện server khi nhận file từ client 2.2.2 Client Hinh 6: Giao diện Client khi kết nối thành công với Server Lập Trình Mạng Trang 21 Xây dựng chương trình Share Desktop Hinh 7: Giao diện Client khi gửi file đến Server Lập Trình Mạng. .. hình mạng của chương trình Share Desktop Lập Trình Mạng Trang 17 Xây dựng chương trình Share Desktop Hinh 3: Giao thức của chương trình Share Desktop • Một gói dữ liệu gửi từ Client có định dạng: [Lệnh]#[Dữ liệu 1]# #[Dữ liệu N] Lệnh chỉ là 1 trong các lệnh sau đây: {KetNoi, YeuCauGuiFile, GuiFile, ChapNhanFile, NhanFileThanhCong, KhongChapNhanFile, NgatKetNoi} Lập Trình Mạng Trang 18 Xây dựng chương trình. .. client, server - Điều khiển client bằng client Lập Trình Mạng Trang 23 Xây dựng chương trình Share Desktop TÀI LIỆU THAM KHẢO Tài liệu: [1] Dương Quang Thiện, 2005, NET toàn tập [2] Nguyễn Ngọc Bình Phương, 2005, Các giải pháp lập trình C# [3] Sybex, 2003, C-Sharp Network Programming Các trang Web [1] http://www.codeproject.com [2] http://www.codeguru.com Lập Trình Mạng Trang 24 ... } Lập Trình Mạng Trang 13 Xây dựng chương trình Share Desktop 3 Sử dụng Thread trong các ứng dụng mạng 3.1 Một số khái niệm Đa nhiệm (multitasking ): là khả năng hệ điều hành làm nhiều công việc tại một thời điểm Tiến trình (Process): khi chạy một ứng dụng hệ điều hành sẽ cấp phát riêng cho ứng dụng đó bộ nhớ và các tài nguyên khác Bộ nhớ và tài nguyên vật lý riêng biệt này được gọi là một tiến trình. .. khi gửi file đến Server Lập Trình Mạng Trang 22 Xây dựng chương trình Share Desktop KÊT LUẬN Kết quả đạt được Đề tài viết chương trình Share desktop đã thức hiện được những nội dung - Tìm hiểu được cách lập trình đa luồng trong NET - Tìm hiểu cách hoạt động của một chương trình điểu khiển máy tính từ xa đơn giản Ưu nhược điểm của chương trình - Ưu điểm Đơn giản gọn nhẹ - Nhược điểm Chưa nhìn thấy... GuiFile: lệnh bắt đầu gửi file ChapNhanFile: lệnh chấp nhận file gửi từ client NhanFileThanhCong: lệnh thông báo nhận file thành công KhongChapNhanFile: lệnh không nhận file từ client ShareDesktop: lệnh yêu cầu share dektop Lập Trình Mạng Trang 19 Xây dựng chương trình Share Desktop 2 Chương trình: 2.1 Yêu cầu bài toán: Dựa trên nên tảng giao thức Share Desktop có sẵn, tiến hành xây dựng mô hình Client-Server...Xây dựng chương trình Share Desktop Hinh 1: Mô hình sử lý sự kiện của Windows 2.2 Sử dụng Socket không đồng bộ Để lập trình không đồng bộ với Socket chúng ta sử dụng các phương thức cho việc sử dụng bất đồng bộ Các phương thức cho việc lập trình bất đồng được chia làm 2 bắt đầu bằng Begin và End: - Phương thức bắt đầu bằng Begin,... dụng Threadpool trong các chương trình Net Bảng 11: Các phương thức sử dụng trong Threadpool Method Description (Mô tả) BindHandle () Binds an operating system handle to the thread pool GetAvailableThreads() Gets the number of worker threads available for use in the thread pool GetMaxThreads () Lập Trình Mạng Gets the maximum number of worker Trang 15 Xây dựng chương trình Share Desktop threads available... pool but does not propagate the calling stack onto the worker thread UnsafeRegisterWaitForSingleObject() Registers an unsafe delegate waiting for a WaitHandle object Lập Trình Mạng Trang 16 Xây dựng chương trình Share Desktop CHƯƠNG 3: CHƯƠNG TRÌNH SHARE DESKTOP 1 Giới thiệu giao thức Share Desktop: Giao thức Share Desktop là kết nối cơ bản với giao diện đồ họa được thiết kế để tạo điều kiện thuận lợi... IAsyncResult BeginAccept(AsyncCallback callback, object state) Socket EndAccept(IAsyncResult iar); Để thiết lập phương thức kết nối theo cách bất đồng bộ ta sử dụng phương thức BeginConnect() và EndConnect() như sau: - Phương thức BeginConnect() và EndConnect() Lập Trình Mạng Trang 11 Xây dựng chương trình Share Desktop Socket newsock = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp); ... lập trình viên phát triển ứng dụng mạng với kích thước nhẹ mạnh mẽ xử lý Dựa kiến thức lập trình mạng với C#, đa dạng dịch vụ mạng với nhiều tính đòi hỏi ngày cao Từ ý tưởng xây dựng chương trình. .. nối thành công với Server Lập Trình Mạng Trang 21 Xây dựng chương trình Share Desktop Hinh 7: Giao diện Client gửi file đến Server Lập Trình Mạng Trang 22 Xây dựng chương trình Share Desktop KÊT... phần chạy máy tính xa Hinh 2: Mô hình mạng chương trình Share Desktop Lập Trình Mạng Trang 17 Xây dựng chương trình Share Desktop Hinh 3: Giao thức chương trình Share Desktop • Một gói liệu gửi