JavaScript is required

Cho đoạn mã:

data = new byte[1024]

recv = S.ReceiveFrom(data, ref remoteEP);

Để đoạn mã trên thực thi đúng, thì biến S phải đảm bảo điều gì? (Chọn câu đúng

nhất)

A.

S là một TCP Socket, đã khởi tạo thành công

B.

S là một UDP Socket, đã gọi phương thức Bind thành công

C.

S là một TCP Socket, đã gọi phương thức Connect thành công

D.

S là một UDP Socket, đã khởi tạo thành công

Trả lời:

Đáp án đúng: B


Đoạn mã sử dụng phương thức `ReceiveFrom`, đây là phương thức đặc trưng của UDP socket, dùng để nhận dữ liệu từ một địa chỉ IP và port cụ thể. TCP socket sử dụng phương thức `Receive` để nhận dữ liệu từ kết nối đã thiết lập. UDP không yêu cầu kết nối trước, do đó không cần gọi `Connect`. UDP cần khởi tạo, có thể cần `Bind` hoặc không. Trường hợp này không bắt buộc phải `Bind` vì socket có thể tự động gán port. * **A. S là một TCP Socket, đã khởi tạo thành công:** Sai, vì TCP socket không dùng `ReceiveFrom`. * **B. S là một UDP Socket, đã gọi phương thức Bind thành công:** Không hoàn toàn đúng, tuy nhiên `Bind` là không bắt buộc. * **C. S là một TCP Socket, đã gọi phương thức Connect thành công:** Sai, vì TCP socket không dùng `ReceiveFrom`. * **D. S là một UDP Socket, đã khởi tạo thành công:** Đúng, đây là điều kiện cần thiết để có thể gọi `ReceiveFrom`. Vậy đáp án đúng nhất là D.

Câu hỏi liên quan