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 1
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 2
Xây dựng chương trình Share Desktop
MỤC LỤC
MỤC LỤC..........................................................................................................................................3
MỤC LỤC BẢNG................................................................................................................................4
MỤC LỤC HÌNH.................................................................................................................................5
LỜI MỞ ĐẦU.....................................................................................................................................6
CHƯƠNG 1: LẬP TRÌNH MẠNG TRONG .NET FRAMEWORK..............................................................7
1. Sử dụng các lớp hỗ trợ được xây dựng từ lớp Socket...............................................................7
2. Socket không đồng bộ ...........................................................................................................10
3. Sử dụng Thread trong các ứng dụng mạng.............................................................................14
CHƯƠNG 3: CHƯƠNG TRÌNH SHARE DESKTOP..............................................................................17
1. Giới thiệu giao thức Share Desktop:.......................................................................................17
2. 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 3
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 của lớp TcpClient........................................................................7
Bảng 2: Các thuộc tính của lớp TcpClient..........................................................................................7
Bảng 3: Các phương thức của lớp TcpClient......................................................................................8
Bảng 4: Các phương thức khởi tạo của lớp TcpListener....................................................................8
Bảng 5: Các phương thức trong lớp TcpListener...............................................................................8
Bảng 6: Các phương thức khởi tạo của lớp UDPClient......................................................................9
Bảng 7: Các phương thức trong lớp UDPClient.................................................................................9
Bảng 8: Các phương thức trong Socket...........................................................................................11
Bảng 9: Các phương thức sử dụng trong Thread.............................................................................14
Bảng 10: Các thuộc tính thường dùng trong Thread.......................................................................15
Bảng 11: Các phương thức sử dụng trong Threadpool....................................................................15
Lập Trình Mạng
Trang 4
Xây dựng chương trình Share Desktop
MỤC LỤC HÌNH
Hinh 1: Mô hình sử lý sự kiện của Windows....................................................................................11
Hinh 2: Mô hình mạng của chương trình Share Desktop.................................................................17
Hinh 3: Giao thức của chương trình Share Desktop........................................................................18
Hinh 4: Giao diện server khi client kết nối thành công....................................................................20
Hinh 5: Giao diện server khi nhận file từ client...............................................................................21
Hinh 6: Giao diện Client khi kết nối thành công với Server..............................................................21
Hinh 7: Giao diện Client khi gửi file đến Server...............................................................................22
Lập Trình Mạng
Trang 5
Xây dựng chương trình Share Desktop
LỜI MỞ ĐẦU
Sự phát triển như vũ bão của ngành công nghệ thông tin kéo theo đó là các dịch
vụ mạng ngày càng phát triển, mở rộng và hoàn thiện hơn, tuy vẫn tồn tại nhiều
khuyết điểm song không ít tiện lợi từ công nghệ đem lại cho xã hội loài người sự
nhanh chóng và chính xác... Thư điện tử dần thay thế thư tay, các cuộc hội nghị
truyền hình với âm thanh hình ảnh trực tiếp giúp linh hoạt hóa công việc của tổ
chức, đoàn thể. Người bác sĩ không phải trực tiếp đứng tại phòng mổ vẫn có thể
thực hiện ca phẫu thuật với sự chính xác cao, và độ an toàn tuyệt đối… còn rất
nhiều lợi ích mà công nghệ thông tin đem lại cho chúng ta, vậy dựa vào đâu mà
công nghệ có thể thực hiện được những điều tưởng chừng không thể trong một tích
tắc như vậy?
Ngôn ngữ lập trình là một phần không thể thiếu trong việc xây dựng nên một thế
giới công nghệ linh hoạt và mạnh mẽ. Không gian làm việc Microsoft .Net tổng hợp
bởi bốn bộ ngôn ngữ lập trình: C#, VB.NET, Managed C++, and J# .NET. ở đó có
sự chồng gối lên nhau của các ngôn ngữ, và được định nghĩa trong FCL (framework
class library). Hỗ trợ cho lập trình viên phát triển các ứng dụng mạng với kích
thước nhẹ và mạnh mẽ trong xử lý.
Dựa trên kiến thức lập trình mạng với C#, sự đa dạng của các dịch vụ mạng với
nhiều tính năng và đòi hỏi ngày càng cao. Từ ý tưởng xây dựng một chương trình
có khả năng 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 được xây dựng, dựa theo mô hình Client-Server hỗ trợ các tính
năng cơ bản tương tác với máy tính từ xa như tắt máy, khởi động lại máy, ngủ đông,
khóa máy, chạy một số ứng dụng, gửi thông điệp, gửi một file hay lấy 1 file từ máy
đang điều khiển… sử dụng ngôn ngữ lập trình C#.
Trong quá trình xây dựng chương trình không tránh khỏi sai xót kính mong các
thầy cô và các bạn đóng góp ý kiến xây dựng để nhóm hoàn thiện hơn. Chúng em
xin chân thành cảm ơn!
Lập Trình Mạng
Trang 6
Xây dựng chương trình Share Desktop
CHƯƠNG 1: LẬP TRÌNH MẠNG TRONG .NET
FRAMEWORK
1. Sử dụng các lớp hỗ trợ được xây dựng từ lớp Socket
1.1.
Lớp TCPClient
Dùng giao thức này thì hai bên không cần phải thiết lập kết nối trước khi gửi do
vậy mức dộ tin cậy không cao. Để đảm bảo độ tin cậy trong các ứng dụng mạng
người ta còn sử dụng một giao thức khác gọi là 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
là TCPClient và TCPListener.
Các thành phần của lớp TcpClient
-
Phương thức khởi tạo:
Bảng 1: Các phương thức khởi tạo của lớp TcpClient
Constructor method
Name
Description
TcpClient ()
Tạo một đối tượng TcpClient. Chưa đặt thông số gì.
TcpClient (IPEndPoint)
Tạo một TcpClient và gắn cho nó một EndPoint cục
bộ. (gán địa chỉ máy cục bộ và số hiệu cổng để sử dụng
trao đổi thông tin về sau)
TcpClient (RemoteHost:
Tạo một đối tượng TcpClient và kết nối đến một máy
String Int32)
có địa chỉ và số hiệu cổng được truyền vào.
RemoteHost có thể là địa chỉ IP chuẩn hoặc tên máy.
-
Một số thuộc tính:
Bảng 2: Các thuộc tính của lớp TcpClient
Name
Description
Available
Cho biết số byte đã nhận về từ mạng và có sẵn để đọc
Client
Trả về socket ứng với TCPClient hiện hành
Connected
Trạng thái cho biết đã kết nối được đến server hay chưa ?
-
Một số phương thức:
Lập Trình Mạng
Trang 7
Xây dựng chương trình Share Desktop
Bảng 3: Các phương thức của lớp TcpClient
Name
Description
Close
Giải phóng đối tượng TcpClient nhưng không đóng kết nối
Connect
Kết nối đến một máy TCP khác có tên và số hiệu cổng
(RemoteHost, Port)
GetStream
Trả về NetworkStream để từ đó giúp ta gửi hay nhận dữ
liệu. ( thường làm tham số khi tạo StreamReader và
StreamWriter).
Khi đã gắn vào StreamReader vá StreamWriter rồi thì ta có
thể gửi và nhận dữ liệu thông qua các phương thức Readln,
writeline tương ứng của các lớp này.
1.2.
Lớp TCPListener
TCPListener là một lớp cho phép người lập trình có thể xây dựng các ứng dụng
server.
Các thành phần của lớp TcpListener:
-
Phương thức khởi tạo:
Bảng 4: Các phương thức khởi tạo của lớp TcpListener
Constructor method
Name
Description
TcpListener (Port: Int32)
Tạo một TcpListener và lắng nghe tại cổng chỉ định
TcpListener (IPAddress, Tạo một TcpListener và lắng nghe các kết nối đến tại
Int32)
địa chỉ IP và cổng chỉ định
TcpListener
Tạo một 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 trong lớp TcpListener
Name
Description
AcceptTcpClient
Chấp nhận một yêu cầu kết nối đang chờ. (ứng dụng sẽ dừng tại
Lập Trình Mạng
Trang 8
Xây dựng chương trình Share Desktop
câu lệnh này cho đến khi nào có một kết nối đến)
AcceptSocket
Chấp nhận một yêu cầu kết nối đang chờ.
Pending
Cho biết liệu có kết nối nào đang chờ đợi không? ( True = có).
Start
Bắt đầu lắng nghe các 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) là một giao
thức phi kết nối có nghĩa là một bên có thể gửi dữ liệu cho bên kia mà không cần
biết là bên đó có sẵn sàng hay chưa? Giao thức này không tin cậy bằng giao thức
TCP nhưng tốc độ của nó nhanh và dễ cài đặt. ngoài ra, với giao thức UDP ta còn
có thể gửi được gói tin quảng bá đến nhiều máy.
Trong .NET, lớp UDPClient đóng gói các chức năng của 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 của lớp UDPClient
Constructor method
Description
UdpClient ()
Tạo một đối tượng (thể hiện) mới của lớp
UDPClient.
UdpClient (AddressFamily)
Tạo một đối tượng mới của lớp UDPClient.
Thuộc một dòng địa chỉ được chỉ định.
UdpClient (Int32)
Tạo một UdpClient và gắn một cổng cho nó
UdpClient (IPEndPoint)
Tạo một UdpClient và gắn một IPEndPoint
cho nó
UdpClient
(Int32, Tạo một UdpClient và gắn số hiệu cổng,
AddressFamily)
AddressFamily
UdpClient (String, Int32)
Tạo một UdpClient và thiết lập với một máy
trạm từ xa mặc định.
-
Các phương thức:
Bảng 7: Các phương thức trong lớp UDPClient
Lập Trình Mạng
Trang 9
Xây dựng chương trình Share Desktop
Name
Description
BeginReceive
Nhận dữ liệu không đồng bộ từ máy tính từ xa.
BeginSend
Gửi không đồng bộ dữ liệu tới máy ở xa
Close
Đóng kết nối
Connect
Thiết lập một default remote host.
EndReceive
Kết thúc nhận dữ liệu không đồng bộ ở trên
EndSend
Kết thúc việc gửi dữ liệu không đồng bộ ở trên
Receive
Nhận dữ liệu (đồng bộ) do máy tính ở xa gửi
Send
Gửi dữ liệu (đồng bộ) cho máy ở xa.
2. Socket không đồng bộ
2.1.
Mô hình xử lý sự kiện của Windows
Mô hình sử lý sự kiện được thể hiện qua mô hình sau:
Thông qua mô hình này ta có thể ủy nhiệm cho môt thủ tục nào đó thực hiện khi sự
kiện sảy ra trên 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ý 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, bắt đầu một chức năng và được đăng ký
với phương thức AsyncCallback.
-
Bắt đầu bằng End chỉ chức năng hoàn thành khi AsyncCallback đươc gọi
Bảng 8: Các phương thức trong 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 bộ ta sử dụng phương thức BeginAccept() và
EndAccept() như sau:
-
Phương thức BeginAccept() và 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 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);
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 được viết như 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 dữ liệu bất đồng bộ chúng ta làm như sau:
-
Phương thức BeginSend() và 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 được viết như sau:
private static void SendData(IAsyncResult iar) {
Socket server = (Socket)iar.AsyncState;
int sent = server.EndSend(iar);
}
Tương tự như giao thức hướng kết nối nếu ta sử dụng gửi dữ liệu theo giao thức
không hướng kết nối chúng ta cũng thực hiện tương tự như sau:
-
Phương thức BeginSendTo() và 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 dữ liệu bất đồng bộ ta thực hiện như sau:
-
Nhận dữ liêu với giao thức hướng kết nối:
Phương thức BeginRecieve và EndRecive()
sock.BeginReceive(data, 0, data.Length, SocketFlags.None, new
AsyncCallback(ReceivedData), sock);
-
Với ReceivedData được định nghĩa như 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 dữ liệu bất đồng bộ với giao thức không hướng kết nối
Phương thức BeginReceiveFrom() và 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
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. Các tài nguyên và bộ nhớ của một tiến trình thì chỉ
tiến trình đó được phép truy cập.
Tuyến (Thread ): trong hệ thống một tiến trình có thể có một hoặc nhiều chuỗi
thực hiện tách biệt khác nhau và có thể chạy đồng thời. mỗi chuỗi thực hiện này
được gọi là 1 tuyến (Thread). Trong 1 ứng dụng Thread khởi tạo đầu tiên gọi là
Thread sơ cấp hay Thread chính.
3.2.
Sử dụng Thread trong chương trình .Net
Để sử dụng Thread trong .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 trong 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ì mới
thực hiện 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 trong một khoảng thời gian.
Start ()
Bắt đầu chạy (khởi động) một thread. Sau khi gọi phương thức
này, trạng thái của thread chuyển từ trạng thái hiện hành sang
Running.
Suspend ()
Tạm ngưng thread. (phương thức này được loại khỏi phiên bả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 trong Thread
Public Property
Mô tả
CurrentThread
This static property: trả về thread hiện hành đang chạy.
IsAlive
Trả về giá trị cho biết trạng thái thực thi của thread hiện
hành.
IsBackground
Sets or gets giá trị cho biết là thread là background hay
foreground thread.
IsThreadPoolThread
Gets a value indicating whether a thread is part of a thread
pool.
Priority
Sets or gets giá trị để chỉ định độ ưu tiên ( dành nhiều hay
ít CPU cho thread). Cao nhất là 4, thấp nhất là 0.
ThreadState
Lấy về trạng thái của thread (đang dừng, hay đang chạy…)
Tạo một tuyến trong C#
……
Thread newThread=newThread(new ThreadStart(newMethod));
…….
}
void newMethod() {
...
}
3.3.
Sử 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 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
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 cho người sử dụng tương tác với một hệ máy tính từ xa bằng
cách cập nhật những thông tin đồ họa đến từ máy tính từ xa tới người sử dụng và
đồng bộ thông tin quản lý của người dùng tương tác đến máy tính ở xa, giống như
đang ngồi tại chính máy đó.
Giao thức này cũng cung cấp một cơ chế cho phép đơn giản hóa việc truyền
thông chuyên dụng mở rộng giữa người sử dụng máy tính trực tiếp và những thành
phần chạy trên máy tính ở xa.
Hinh 2: Mô 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 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 chỉ máy client)
YeuCauGuiFile: lệnh yêu cầu gửi file (Dữ liệu: tên máy client,
địa chỉ 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 dữ liệu gửi từ Server 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:
{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
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 hỗ trợ các tính năng cơ bản tương tác với máy tính từ xa như 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 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
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 được màn hình client.
Khó sử dụng trong việc mở ứng dụng và lấy file.
Hướng phát triển
Về cơ bản, nghiên cứu đã đạt được những yêu cầu đã đặt ra. Tuy nhên nếu có
điều kiện, đồ án sẽ cố gắng phát triển thêm các chức năng sau:
-
Có thể nhìn thấy màn hình máy 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]
[2]
Lập Trình Mạng
Trang 24