Trắc nghiệm Mạng máy tính Bài: Khái niệm về socket Trắc nghiệm Mạng máy tính Bài: Khái niệm về socket 25 câu hỏi 30 phút Mạng máy tínhBẮT ĐẦU LÀM BÀITrắc nghiệm Mạng máy tính Bài: Khái niệm về socket 25 câu hỏi 30 phút Mạng máy tínhPHẦN I. Câu trắc nghiệm nhiều phương án lựa chọn.Câu 1Nhận biếtKhái niệm "socket" trong lập trình mạng ám chỉ điều gì?A.Một loại cáp mạng vật lý.B.Một giao thức mạng.C.Một địa chỉ IP.D.Một điểm cuối của liên kết truyền thông, cho phép ứng dụng gửi và nhận dữ liệu qua mạng. Lát kiểm tra lại Câu 2Nhận biếtMột socket được định danh duy nhất bởi sự kết hợp của những thông tin nào?A.Địa chỉ MAC và số cổng.B.Tên miền và số cổng.C.Địa chỉ IP và địa chỉ MAC.D.Địa chỉ IP và số cổng (Port Number). Lát kiểm tra lại Câu 3Nhận biếtSocket loại "Stream Socket" (dòng) thường được sử dụng với giao thức tầng giao vận nào?A.UDP (User Datagram Protocol).B.ICMP (Internet Control Message Protocol).C.ARP (Address Resolution Protocol).D.TCP (Transmission Control Protocol). Lát kiểm tra lại Câu 4Nhận biếtSocket loại "Datagram Socket" (gói dữ liệu) thường được sử dụng với giao thức tầng giao vận nào?A.TCP (Transmission Control Protocol).B.HTTP (Hypertext Transfer Protocol).C.FTP (File Transfer Protocol).D.UDP (User Datagram Protocol). Lát kiểm tra lại Câu 5Nhận biếtƯu điểm chính của Stream Socket (TCP) là gì?A.Nhanh chóng và không đáng tin cậy.B.Không yêu cầu thiết lập kết nối.C.Overhead thấp.D.Cung cấp kết nối đáng tin cậy, có thứ tự và không mất mát dữ liệu. Lát kiểm tra lại Câu 6Nhận biếtƯu điểm chính của Datagram Socket (UDP) là gì?A.Đảm bảo gửi dữ liệu đúng thứ tự.B.Tích hợp điều khiển tắc nghẽn.C.An toàn hơn trong truyền tải.D.Nhanh chóng, overhead thấp và không yêu cầu thiết lập kết nối. Lát kiểm tra lại Câu 7Nhận biếtTrong mô hình client-server sử dụng socket, bên client thường gọi hàm socket nào để bắt đầu thiết lập kết nối đến server?A.`bind()`B.`listen()`C.`accept()`D.`connect()` Lát kiểm tra lại Câu 8Nhận biếtTrong mô hình client-server sử dụng socket, bên server thường gọi hàm socket nào để gán một địa chỉ và cổng cho socket của nó?A.`connect()`B.`listen()`C.`accept()`D.`bind()` Lát kiểm tra lại Câu 9Nhận biếtSau khi gọi `bind()`, server sẽ gọi hàm socket nào để đặt socket vào trạng thái sẵn sàng chấp nhận các kết nối đến?A.`connect()`B.`send()`C.`recv()`D.`listen()` Lát kiểm tra lại Câu 10Nhận biếtKhi một client gửi yêu cầu kết nối đến một server đã ở trạng thái `listen()`, server sẽ gọi hàm socket nào để chấp nhận kết nối đó và tạo một socket mới để giao tiếp với client riêng biệt?A.`bind()`B.`listen()`C.`send()`D.`accept()` Lát kiểm tra lại Câu 11Nhận biếtSố cổng (Port Number) có giá trị từ 0 đến 1023 được gọi là gì và thường dành cho dịch vụ nào?A.Cổng động, dành cho client.B.Cổng riêng, dành cho server.C.Cổng tạm thời, dành cho mọi ứng dụng.D.Cổng nổi tiếng (Well-known Ports), dành cho các dịch vụ chuẩn (HTTP, FTP, DNS). Lát kiểm tra lại Câu 12Nhận biếtKhi một client tạo một socket để kết nối đến server, nó thường được gán một số cổng nào?A.Luôn là cổng 80.B.Luôn là cổng 443.C.Một cổng cố định được định nghĩa trước.D.Một cổng tạm thời (Ephemeral Port) được hệ điều hành cấp phát ngẫu nhiên. Lát kiểm tra lại Câu 13Nhận biếtĐịa chỉ `127.0.0.1` (hoặc `localhost`) được sử dụng trong lập trình socket để làm gì?A.Để kết nối với một máy chủ từ xa.B.Để kết nối đến bất kỳ địa chỉ IP nào.C.Để chỉ định một kết nối không dây.D.Để kết nối đến chính máy tính cục bộ đó. Lát kiểm tra lại Câu 14Nhận biếtHàm nào trong lập trình socket được sử dụng để gửi dữ liệu qua một socket đã kết nối?A.`recv()`B.`close()`C.`listen()`D.`send()` (hoặc `write()`) Lát kiểm tra lại Câu 15Nhận biếtHàm nào trong lập trình socket được sử dụng để nhận dữ liệu từ một socket đã kết nối?A.`send()`B.`connect()`C.`bind()`D.`recv()` (hoặc `read()`) Lát kiểm tra lại Câu 16Nhận biếtNếu một ứng dụng sử dụng Datagram Socket (UDP) để gửi dữ liệu, nó sẽ gọi hàm nào để gửi gói tin?A.`send()`B.`sendto()`C.`write()`D.`sendto()` (vì cần chỉ định địa chỉ đích cho mỗi datagram) Lát kiểm tra lại Câu 17Nhận biếtNếu một ứng dụng sử dụng Datagram Socket (UDP) để nhận dữ liệu, nó sẽ gọi hàm nào để nhận gói tin?A.`recv()`B.`read()`C.`accept()`D.`recvfrom()` (vì cần biết gói tin đến từ địa chỉ nào) Lát kiểm tra lại Câu 18Nhận biếtSau khi hoàn thành việc giao tiếp, điều gì là quan trọng nhất cần làm với một socket?A.Khởi động lại máy tính.B.Thay đổi địa chỉ IP.C.Gửi một bản tin cuối cùng.D.Đóng socket (`close()` hoặc `shutdown()`) để giải phóng tài nguyên. Lát kiểm tra lại Câu 19Nhận biếtTrong trường hợp lỗi "Connection refused" (Kết nối bị từ chối) khi client cố gắng kết nối, điều gì có thể là nguyên nhân?A.Địa chỉ IP của client bị sai.B.Client đang sử dụng sai cổng.C.Client không có kết nối Internet.D.Server không chạy, không lắng nghe trên cổng đó, hoặc tường lửa chặn kết nối. Lát kiểm tra lại Câu 20Nhận biếtKhái niệm "socket pair" (cặp socket) trong TCP/IP ám chỉ điều gì?A.Hai socket trên cùng một máy tính.B.Hai socket của cùng một ứng dụng.C.Hai socket được kết nối với nhau bằng cáp.D.Sự kết hợp của địa chỉ IP nguồn, cổng nguồn, địa chỉ IP đích và cổng đích, định danh duy nhất một kết nối TCP. Lát kiểm tra lại Câu 21Nhận biếtSocket có thể được sử dụng để giao tiếp giữa các tiến trình trên cùng một máy tính không?A.Không, chỉ giữa các máy tính khác nhau.B.Chỉ khi các máy tính đó ở cùng mạng LAN.C.Chỉ khi sử dụng giao thức UDP.D.Có, thông qua địa chỉ loopback (127.0.0.1) hoặc Unix domain sockets. Lát kiểm tra lại Câu 22Nhận biếtLớp Socket API (Application Programming Interface) là gì?A.Một giao thức mạng.B.Một phần mềm trình duyệt web.C.Một thiết bị phần cứng.D.Một tập hợp các hàm và thư viện được cung cấp bởi hệ điều hành để lập trình viên có thể tạo và quản lý socket. Lát kiểm tra lại Câu 23Nhận biếtMô hình nào sau đây thường được sử dụng trong lập trình socket để một server có thể xử lý nhiều client cùng lúc?A.Mô hình đơn luồng, đơn tiến trình.B.Mô hình Peer-to-Peer.C.Mô hình lặp lại (Iterative Server).D.Mô hình đa luồng (Multi-threaded) hoặc đa tiến trình (Multi-process) / Event-driven (Asynchronous Server). Lát kiểm tra lại Câu 24Nhận biếtNếu bạn muốn xây dựng một ứng dụng chat thời gian thực yêu cầu độ trễ thấp và chấp nhận một số mất mát dữ liệu nhỏ, bạn nên chọn loại socket nào?A.Stream Socket (TCP).B.Raw Socket.C.Unix Domain Socket.D.Datagram Socket (UDP). Lát kiểm tra lại Câu 25Nhận biếtKhi một server gọi `accept()`, nó đang chờ đợi sự kiện nào?A.Một client gửi dữ liệu.B.Một client đóng kết nối.C.Một client yêu cầu một tài nguyên.D.Một client mới cố gắng thiết lập kết nối TCP với nó. Lát kiểm tra lại Số câu đã làm0/25|Thời gian còn lại--:--NỘP BÀI