Chương 1: I/Địa IP 1.Địa local 127.0.0.1 2.Địa dành riêng: 10.0.0.0-10.255.255.255 172.16.0.0-172.31.255.255 192.168.0.0-192.168.255.255 3.Địa ip máy thay đổi do: DHCP sever 4.Địa không thay đổi: Địa MAC 5.Người dùng sa lầy khó lưu thơng mạng khơng có tính: Đóng gói (encapsulation) 6.Tầng người dùng tập trung khai thác Tầng OSI 7.Máy tính dùng nhiều ứng dụng mạng đồng thời, liệu cho biết ứng dụng dùng là: port number 8.Cho biết số port number giao thức: 20 FTP (data) 21 FTP (control) 25 SMTP (email, outgoing) 53 DNS (domain names) 80 HTTP (Web) 110 POP3 (email, incoming) 119 NNTP (news) 143 IMAP (email, incoming) 9.Cho biết RFC quan trọng thuộc giao thức: RFC 821 RFC 954 RFC 959 RFC 1939 RFC 2616 RFC 793 SMTP (email, outgoing) WHOIS FTP (data) POP3 (email, incoming) HTTP (Web) TCP 10.Người dùng ý đến chuẩn tổ chức lớn đưa là: IETF W3C RFC IETF định nghĩa HTML, XML W3C định nghĩa II/ Lập trinh đối tượng C# 11.Tác dụng namespace: Tránh trùng lắp đặt tên lớp Quản lý mã dễ dàng Giảm bớt phức tạp chay với ứng dụng khác Có thể khao báo namespace class namespace khác 12 Cách khai báo phương thức tĩnh Ta khai tên lớp khai tiếp tên phương thức lớp không cần tạo đối tượng 13 Ý nghĩa hàm CONSTRUCTORS : Phương thức đặc biệt lớp Được gọi đối tượng tạo Dùng để khởi dựng đối tượng Cùng tên với tên lớp Khơng có giá trị trả Constructor có tham số 14 Private Constructor gì? Sử dụng sao? Sử dụng thành phần lớp static Không cần thiết tạo đối tượng cho lớp 15 Ý nghĩa lệnh foreach: Duyệt qua tất phần tử thực phát biểu 16 Kế thừa C# Cho phép khai báo lớp dẫn xuất từ lớp có Sử dụng lại đoạn mã viết Hỗ trợ đơn kế thừa Không hỗ trợ đa kế thừa Cho phép thực thi nhiều interface 17.Kiểu sau cho biết lớp không phép kế thừa: sealed 18.Lớp trừu tượng Khơng tạo đối tượng Có thể định nghĩa phương thức Có thể mở rộng từ lớp dẫn xuất Dùng để làm lớp sở Có thể thực thi interface 19 Interface nào: Không tạo đối tượng Không thể định nghĩa phương thức Lớp thực thi interface phải thực thi tất phương thức interface Interface kế thừa từ interface khác Chương 3: SOCKETS I/Socket 1.Socket ? Socket đối tượng thể điểm truy cập mức thấp IP stack Socket chế độ mở, đóng số trạng thái trung gian khác Socket gửi, nhận liệu Dữ liệu tổng quát gửi theo khối (gọi packet) 2.Dãy port gán ứng dụng mạng: từ 0-65535 3.Dãy port dành cho người dùng: Từ 1024-49151 4.Dãy port dành để dự trữ: Từ 49152-65535 5.Cho dãy số long, tính địa IP: Cách tính: Địa IP có dạng (với a,b,c,d từ 0-255) Ta lấy số long X chia lần cho 256^3 : ta nhận số nguyên d Tiếp tục lấy số X-(256^3) x d (vừa tìm được)=X' Ta lấy X' chia lần cho 256^2: Ta số nguyên c Tiếp tục lấy X'-(256^2) x c(vừa tìm được)= X'' Ta lấy X'' chia lần cho 256: Ta số nguyên b Tiếp tục lấy X''-256 x b(vừa tìm được) = X''' Ta lấy X''' a Kết ta tìm : a.b.c.d dãy địa IP Ví dụ: Đề cho 33663168 tìm địa IP có dạng : a.b.c.d 33663168/ (256^3)=2.0064 Ta nhận d lấy 33663168-(256^3)x2=108736 108736/ (256^2)= 1.659 ta nhận c Lấy 108736-(256^2)x1= 43200 Cứ ta tìm a,b :D 6.Cho dãy địa IP đổi thành số long: Cách tính: Ví dụ: 192.168.1.2 2x256^3+1x256^2+168x256+192=33663168 II/Lớp IPADDRESS 7.Thuộc tính nhận địa ip, cung cấp địa ip là: Thuộc tính Any, IP:0.0.0.0 thuộc tính đọc 8.Phương thức AddressFamily gì: Trả học địa địa IP hành Nếu địa IPv4 kết Internetwork Nếu địa IPv6 kết iternetworkV6 9.Chuyển địa thành mảng byte ta có Phương thức: GetAddressBytes (4byte) 10 Phương thức chuyển từ chuỗi sang IP Phương thức Parse 11 Phương thức trả vể địa IP dạng chuỗi: Phương thức ToString 12.Phương thức kiểm tra địa IP dạng chuỗi có hợp lệ hay không Phương thức TryParse III/Lớp IPEndpoint 13.IPEndpoint cung cấp : IPAddress Port Number 14.Ý nghĩa hàm GetHostAddresses: Trả mảng chứa tất địa IP máy Để sử dụng ta lấy số để chọn card mạng IV/Lớp IPHostEntry: 15 Ý nghĩa lớp IPHostEntry: Là Lớp chứa thông địa máy trạm internet, cần phải nạp thông tin vào trước sử dụng V/Lớp DNS 16.Tác dụng DNS : Giúp phân giải tên miền đơn giản 17.Phương thức lấy tất địa IP máy trạm truyền vào chuỗi tên máy(IP): GetHostAddresses(String ip tên) 18.Phương thức giải đáp tên địa IP truyền vào trả đối tượng IPHostEntry tương ứng GetHostEntry (String IP tên dạng IPAderress) VI/Lớp UDPClient 19.Hình sau mơ tả cho trình tự kết nối : UDPClient 20.Ý nghĩa phương thức BeginReceive: Nhận liệu không đồng từ máy remote 21.Ý nghĩa phương thức Receive: Nhận liệu đồng từ máy remote 22 Để chuyển từ liệu mảng byte sang chuỗi ký tự ta dùng lớp: Encoding 23 Sự khác biệt UDP TCP: UDP: Giao thức phi kết nối, tốc độ truyền nhanh, dễ cài đặt gửi tin quảng bá (Broadcast) Không tin cậy, không cần thiết lập kết nối, xác định địa port máy nhận truyền liệu TCP: Hoạt động tin cậy, phải thiết lập kết nối client sever, liệu không chứa địa port máy nhận VI: Lớp TCPClient 24 Thuộc tính cho biết Soket tương ứng TCPClient hành : Client 25.Thuộc tính cho biết trạng thái kết nối với sever: Connected 26.Hình sau mộ tả trình tự kết nối của: TCPClient 27.Gửi liệu nhận liệu mức byte nhị phân dựng: NetworkStream (truyền GetStream) VII/TCPListener 28.Ý nghĩa lớp TCPListener: Để người dung xây dựng sever, lắng nghe chấp nhận kết nối từ Client 29 Để xác định trục trặc ứng dụng multithreaded ta dùng: System.Diagnostics.Trace 30.Phương chấp nhận yêu cầu kết nối TCPListener AcceptTcpClient