Tạo Trắc Nghiệm

Trắc nghiệm Mạng máy tính Bài: Lập trình socket với ngôn ngữ C

25 câu · Đề ôn tập tổng hợp

Xem trước: đọc nhanh mọi câu dạng chữ, chưa tính giờ, chưa hiện đáp án.
Luyện tập: chọn đáp án là biết đúng sai ngay, kèm lời giải.
Thi thử: nộp bài mới chấm điểm và hiện lời giải.

Câu 1

Hàm `socket()` trong C dùng để làm gì?

Đáp án và lời giải

Đáp án: D

Câu 2

Đối số `type` trong hàm `socket()` được đặt là `SOCK_STREAM` khi bạn muốn sử dụng giao thức tầng giao vận nào?

Đáp án và lời giải

Đáp án: D

Câu 3

Đối số `type` trong hàm `socket()` được đặt là `SOCK_DGRAM` khi bạn muốn sử dụng giao thức tầng giao vận nào?

Đáp án và lời giải

Đáp án: D

Câu 4

Cấu trúc dữ liệu `struct sockaddr_in` trong lập trình socket C dùng để lưu trữ thông tin gì?

Đáp án và lời giải

Đáp án: D

Câu 5

Các hàm như `htons()` và `htonl()` trong lập trình socket C được sử dụng cho mục đích gì?

Đáp án và lời giải

Đáp án: D

Câu 6

Hàm `bind()` trong lập trình socket C dùng để làm gì?

Đáp án và lời giải

Đáp án: D

Câu 7

Nếu một server socket trong C sử dụng `INADDR_ANY` làm địa chỉ IP khi gọi `bind()`, điều đó có nghĩa là gì?

Đáp án và lời giải

Đáp án: D

Câu 8

Hàm `listen()` trong lập trình socket C có đối số `backlog` dùng để làm gì?

Đáp án và lời giải

Đáp án: D

Câu 9

Hàm `accept()` trong lập trình socket C dùng để làm gì trong vai trò server?

Đáp án và lời giải

Đáp án: D

Câu 10

Hàm `connect()` trong lập trình socket C dùng để làm gì trong vai trò client?

Đáp án và lời giải

Đáp án: D

Câu 11

Để gửi dữ liệu qua một socket TCP đã kết nối trong C, bạn sẽ sử dụng hàm nào?

Đáp án và lời giải

Đáp án: D

Câu 12

Để nhận dữ liệu qua một socket TCP đã kết nối trong C, bạn sẽ sử dụng hàm nào?

Đáp án và lời giải

Đáp án: D

Câu 13

Để gửi dữ liệu qua một socket UDP trong C, bạn sẽ sử dụng hàm nào?

Đáp án và lời giải

Đáp án: D

Câu 14

Để nhận dữ liệu qua một socket UDP trong C, bạn sẽ sử dụng hàm nào?

Đáp án và lời giải

Đáp án: D

Câu 15

Sau khi hoàn thành việc giao tiếp, hàm nào nên được gọi để đóng socket và giải phóng tài nguyên hệ thống?

Đáp án và lời giải

Đáp án: D

Câu 16

Khi một hàm socket trả về giá trị -1, điều đó thường có nghĩa là gì?

Đáp án và lời giải

Đáp án: D

Câu 17

Hàm `perror()` trong C được sử dụng để làm gì?

Đáp án và lời giải

Đáp án: D

Câu 18

Để một server C có thể xử lý nhiều client đồng thời, cách phổ biến nhất để tạo các tiến trình con là sử dụng hàm nào?

Đáp án và lời giải

Đáp án: D

Câu 19

Cờ `SO_REUSEADDR` thường được đặt cho server socket bằng hàm `setsockopt()`. Mục đích của nó là gì?

Đáp án và lời giải

Đáp án: D

Câu 20

Cấu trúc `struct sockaddr_in6` được sử dụng để lưu trữ thông tin địa chỉ cho phiên bản giao thức IP nào?

Đáp án và lời giải

Đáp án: D

Câu 21

Để chuyển đổi một địa chỉ IP dạng chuỗi (ví dụ: “192.168.1.1”) sang định dạng nhị phân trong cấu trúc địa chỉ socket, bạn sẽ sử dụng hàm nào?

Đáp án và lời giải

Đáp án: D

Câu 22

Để chuyển đổi một địa chỉ IP dạng nhị phân trong cấu trúc địa chỉ socket sang dạng chuỗi dễ đọc, bạn sẽ sử dụng hàm nào?

Đáp án và lời giải

Đáp án: D

Câu 23

Làm thế nào để bạn biết một socket TCP đã đọc hết dữ liệu từ bên đối diện và bên đó đã đóng kết nối?

Đáp án và lời giải

Đáp án: D

Câu 24

Nếu bạn muốn server tạo một luồng (thread) mới cho mỗi client kết nối thay vì một tiến trình (process) mới, bạn sẽ sử dụng hàm nào?

Đáp án và lời giải

Đáp án: D

Câu 25

Các tệp tiêu đề (header files) cơ bản nào là cần thiết cho hầu hết các chương trình lập trình socket trong C?

Đáp án và lời giải

Đáp án: C