HỌC PHẦN
LẬP TRÌNH MẠNG NÂNG CAO
Nguyễn Vũ – IT Faculty, Viet Han Friendship
1
Lập trình mạng nâng cao
Thời lượng: 60 tiết (8 tiết / 1 tuần)
Hình thức kiểm tra đánh giá:
Điểm rèn luyện: điểm danh + kiểm tra + Bài tập
Báo cáo đồ án
Nguyễn Vũ – IT Faculty, Viet Han Friendship
2
Mục tiêu của môn học
Nắm được cách thức trao đổi thông điệp giữa các máy tính trong mạng
Hiểu được cách thức lập trình trên tầng ứng dụng sử dụng ngôn ngữ C#
Vận dụng các kiến thức về mạng máy tính để viết chương trình trao đổi
thông điệp trên tầng mạng và tầng ứng dụng
Nguyễn Vũ – IT Faculty, Viet Han Friendship
3
Lập trình với các lớp hỗ trợ được xây dựng từ lớp Socket
TCPCLient, TCPListener
UDP Client
Nguyễn Vũ – IT Faculty, Viet Han Friendship
6
Sử dụng luồng nhâ âp xuất (networkstream)
Xây dựng chương trình Server gồm các thao tác:
Khai báo IPEndPoint
Khai báo socket
Gắn socket với số hiêâu cổng (bind)
Lắng nghe kết nối (server)
Chấp nhâân kết nối
Tạo đối tượng NetworkStream bằng lêânh:
NetworkStream ns= new NetworkStream();
Gửi nhâân dữ liêâu thông qua NetworkStream bằng
lêânh:
Nhâân dữ liêâu: int receive=ns.Read(data,0,data.Length);
Gửi dữ liêâu: ns.Write(data,0, data.Length);
Nguyễn Vũ – IT Faculty, Viet Han Friendship
7
Sử dụng luồng nhâ âp xuất (networkstream)
Xây dựng chương trình Client gồm các thao tác:
Nguyễn Vũ – IT Faculty, Viet Han Friendship
9
Sử dụng các lớp hỗ trợ được xây dưng
từ Socket (1)
Để lập trình với giao thức TCP, MS.Net cung cấp hai lớp có tên
là TCPCLient và TCPListener.
Lớp TCPClient
Mội số phương thức khởi tạo:
TcpClient(): Tạo một đối tượng TcpClient
TcpClient(IPEndPoint): Tạo một đối tượng TcpClient và gắn
với một IPEndPoint cục bộ
…
Một số thuộc tính:
Connected: Trả về trạng thái đã kết nối đến Server hay chưa?
Một số phương thức:
Nguyễn Vũ – IT Faculty, Viet Han Friendship
10
Sử dụng các lớp hỗ trợ được xây dưng
từ Socket (2)
Lớp TCPClient
Một số phương thức:
Nguyễn Vũ – IT Faculty, Viet Han Friendship
12
Sử dụng các lớp hỗ trợ được xây dưng
từ Socket (4)
Lớp 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 như: SMTP Server, FTP Server, DNS Server,…
Ứng dụng Server khác ứng dụng Client ở chỗ nó luôn lắng nghe
và chấp nhâân kết nối đến từ Client.
Nguyễn Vũ – IT Faculty, Viet Han Friendship
13
Sử dụng các lớp hỗ trợ được xây dưng
từ Socket (5)
Lớp TCPListener
Môât số phương thức khởi tạo:
TcpListener(Port: Int32): Tạo và lắng nghe kết nối ở cổng
chỉ định.
TcpListener(IPEndPoint): Tạo TcpListener với môât
IPEndPoint.
TcpListener(IPAddress, Int32): Tạo môât TcpListener và
lắng nghe kết nối đến tại địa chỉ IP và cổng chỉ định.
Chấp nhận kết nối từ Client:
TcpClient client=server.AccepTcpClient();
Gắn kết với StreamReader và StreamWriter để gửi và nhận dữ liệu
StreamReader sr =newStreamReader(client.GetStream());
StreamWriter sw = new StreamWriter(client.GetStream());
Gửi dữ liệu:
sw.WriteLine(input);
sw.Flush();
Nhận dữ liệu:
String kq = sr.ReadLine();
Nguyễn Vũ – IT Faculty, Viet Han Friendship
16
Sử dụng các lớp hỗ trợ được xây dưng
từ Socket (7)
Lớp UDPClient
Dùng giao thức UDP để tạo các ứng dụng không cần phải thiết
lââp kết nối giữa hai bên khi tiến hành trao đổi thông tin.
Môât số phương thức khởi tạo:
UdpClient(): tạo môât đối tượng từ UDPClient
UdpClient(Int32): Tạo môât đối tượng UdpClient và gắn
kết với môât cổng.
UdpClient(IPEndPoint): Tạo môât đối tượng UdpClient và
gắn kết với môât IPEndPoint (gồm địa chỉ IP và môât
cổng).
…