JavaScript is required

Cho đoạn lệnh:

byte[] d = new byte[100]

int s = socket.Receive(d);

Những mệnh đề nào sau đây là đúng? (chọn một hoặc nhiều)

A.

Đoạn mã trên đùng cho phía Server mô hình TCP Client/Server

B.

Đoạn mã trên đùng cho phía Client mô hình UDP Client/Server

C.

Đoạn mã trên đùng cho phía Server mô hình UDP Client/Server

D.

Đoạn mã trên đùng cho phía Client trong mô hình TCP Client/Server

Trả lời:

Đáp án đúng: A


Đoạn mã sử dụng `socket.Receive(d)` để nhận dữ liệu. Hàm `Receive` này được sử dụng phổ biến trong cả TCP và UDP, nhưng vai trò của client và server khác nhau tùy theo giao thức. - **TCP (Transmission Control Protocol):** Đây là giao thức hướng kết nối. Trong mô hình TCP Client/Server, server lắng nghe các kết nối đến trên một cổng nhất định. Khi client muốn giao tiếp, nó thiết lập một kết nối đến server. Server sau đó sử dụng socket này để gửi và nhận dữ liệu. Do đó, server sẽ sử dụng `Receive` để nhận dữ liệu từ client sau khi kết nối đã được thiết lập. - **UDP (User Datagram Protocol):** Đây là giao thức không hướng kết nối. Trong mô hình UDP Client/Server, cả client và server đều có thể gửi và nhận dữ liệu mà không cần thiết lập kết nối trước. Cả hai đều sử dụng `Receive` để lắng nghe dữ liệu đến. Với đoạn mã trên, nếu nó nằm trong phía server của mô hình UDP Client/Server, nó sẽ lắng nghe các gói tin đến từ client. Vì vậy, đáp án C là đúng. Đáp án A sai vì phía server trong TCP cần có bước chấp nhận kết nối trước khi nhận dữ liệu. Đáp án B sai vì phía Client trong UDP thường sử dụng `Send` để gửi dữ liệu hơn là `Receive`. Đáp án D sai vì phía Client trong TCP thường gửi dữ liệu (`Send`) sau khi đã kết nối đến Server.

Câu hỏi liên quan