JavaScript is required

Cho đoạn lệnh:

byte[] buffer= new byte[1024]

int num = S.ReceiveFrom(buffer, ref remoteEP);

Mệnh đề nào sau đây là đúng?

A.

Dữ liệu nhận được chứa trong buffer

B.

remoteEP chứa thông tin về IP và port của phía gửi

C.

S là một TCP Socket

D.

num là một socket

Trả lời:

Đáp án đúng: A


Đoạn lệnh cho thấy việc sử dụng socket để nhận dữ liệu từ một địa chỉ IP và port cụ thể. A. Đúng. `buffer` là một mảng byte được sử dụng để lưu trữ dữ liệu nhận được từ socket `S`. B. Đúng. `remoteEP` là một biến tham chiếu (ref) của kiểu `EndPoint`, sau khi hàm `ReceiveFrom` thực thi, `remoteEP` sẽ chứa thông tin về địa chỉ IP và port của bên gửi dữ liệu. C. Sai. Đoạn code `S.ReceiveFrom` cho thấy `S` là một UDP Socket, vì TCP Socket không có hàm `ReceiveFrom` mà dùng `Receive`. D. Sai. `num` là số byte đã nhận được từ socket `S`, không phải là một socket. Vậy, cả A và B đều đúng, tuy nhiên, trong các bài trắc nghiệm, ta cần chọn đáp án bao quát nhất. Vì dữ liệu nhận được sẽ chứa thông tin về IP và port của phía gửi, nên A và B là hai mệnh đề liên quan mật thiết. Trong trường hợp này, A đúng hơn vì nó trực tiếp nói về dữ liệu nhận được, còn B chỉ nói về thông tin của người gửi.

Câu hỏi liên quan