Lớp UDP Lớp UDP Bởi: Khoa CNTT ĐHSP KT Hưng Yên Giới thiệu Giao thức UDP (User Datagram Protocol hay User Define Protocol) giao thức phi kết nối (Connectionless) có nghĩa bên gửi liệu cho bên mà không cần biết bên sẵn sàng hay chưa ? (Nói cách khác không cần thiết lập kết nối hai bên tiến hành trao đổi thông tin) Giao thức không tin cậy giao thức TCP tốc độ lại nhanh dễ cài đặt Ngoài ra, với giao thức UDP ta gửi gói tin quảng bá (Broadcast) cho đồng thời nhiều máy Trong NET, lớp UDPClient (nằm System.Net.Sockets) đóng gói chức giao thức UDP 1/10 Lớp UDP Các thành viên lớp UDPClient • đồng : Synchronous • Không đồng : Asynchronous 2/10 Lớp UDP Ví dụ Chuyển đổi xâu ký tự sang mảng byte: Chuyển đổi mảng byte sang xâu ký tự: Ví dụ tổng hợp hàm chuyển đổi trên: Tạo UDPClient gắn vào cổng 10 Gửi gói tin "Hello" tới ứng dụng UDP khác chạy máy có địa "127.0.0.1" cổng 1000 Ung dung A: 3/10 Lớp UDP Tạo UDPClient gắn vào cổng 1000 nhận liệu từ ứng dụng khác gửi đến 4/10 Lớp UDP Viết chương trình tổng hợp CHAT hai máy dùng giao thức UDP Mô tả giao diện: 5/10 Lớp UDP Giao diện ứng dụng A (Ứng dụng 1) Giao diện ứng dụng b (Ứng dụng 2) 6/10 Lớp UDP Code cho ứng dụng hoàn toàn giống Lưu ý: Nếu ứng dụng đặt máy khác thỡ chỳng ta cú thể đặt Remote Port Local Port hai ứng dụng giống (Vỡ khụng bị xung đột) Listing 1: Chương trình CHAT hai ứng dụng 7/10 Lớp UDP ** Cõu hỏi: Trong kiện Dữ_Liệu_Về ta cú thể bỏ bớt tham số RemoteHost không ? (Hay tăng thêm không ?) Tổng kết: Khi muốn gửi liệu qua mạng lớp UDPClient, ta theo cách đơn giản sau: 8/10 Lớp UDP Khi nhận: Dùng phương thức Receive để nhận liệu Phương thức đòi hỏi ta phải lấy từ máy ? (mà đại diện IPEndPoint) Khi ta cần tạo đối tượng IPEndPoint với địa số hiệu cổng máy chạy ứng dụng mà ta muốn nhận liệu Phương thức trả cho ta liệu dạng mảng byte, để chuyển sang dạng xâu ký tự cần dùng lớp Encoding để chuyển đổi Phương thức Receive làm việc chế độ đồng (Tức “Blocking” chưa có liệu nhận) thường ta sử dụng chế đa tuyến để giải trường hợp (Phần Receive đặt tuyến riêng biệt) Bài tập: Bài 1: Viết chương trình UDP đặt hai máy thực công việc sau: • Khi ứng dụng gửi xâu "OPEN#" ứng dụng máy mở file nằm phần • Khi ứng dụng gửi xâu "SHUTDOWN" ứng dụng tắt máy tính • Khi ứng dụng gửi xâu "RESTART" ứng dụng tắt khởi động lại máy tính Bài 2: Viết chương trình UDP (ứng dụng A) đặt máy thực công việc sau: 9/10 Lớp UDP - Khi ứng dụng (B) gửi xâu chữ Tiếng Anh ứng A gửi trả lại nghĩa tiếng Việt tương ứng Nếu từ Tiếng Anh từ điển (từ điển có từ Computer, RAM, HDD) ứng dụng A gửi trả lại xâu "Not found" … → Viết ứng dụng khác ! 10/10 ... đến 4/10 Lớp UDP Viết chương trình tổng hợp CHAT hai máy dùng giao thức UDP Mô tả giao diện: 5/10 Lớp UDP Giao diện ứng dụng A (Ứng dụng 1) Giao diện ứng dụng b (Ứng dụng 2) 6/10 Lớp UDP Code.. .Lớp UDP Các thành viên lớp UDPClient • đồng : Synchronous • Không đồng : Asynchronous 2/10 Lớp UDP Ví dụ Chuyển đổi xâu ký tự sang mảng byte: Chuyển... hợp hàm chuyển đổi trên: Tạo UDPClient gắn vào cổng 10 Gửi gói tin "Hello" tới ứng dụng UDP khác chạy máy có địa "127.0.0.1" cổng 1000 Ung dung A: 3/10 Lớp UDP Tạo UDPClient gắn vào cổng 1000