Tải bản đầy đủ (.doc) (24 trang)

Báo cáo Lập trình mạng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (337.93 KB, 24 trang )

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



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×