Trắc nghiệm Mạng máy tính Bài: Java Sockets Trắc nghiệm Mạng máy tính Bài: Java Sockets 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: Java Sockets 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ếtTrong Java, lớp nào được sử dụng để tạo một client socket kết nối đến một server thông qua TCP?A.`ServerSocket`B.`DatagramSocket`C.`InetAddress`D.`Socket` Lát kiểm tra lại Câu 2Nhận biếtLớp nào trong Java được sử dụng để tạo một server socket lắng nghe các kết nối đến từ client thông qua TCP?A.`Socket`B.`DatagramSocket`C.`DatagramPacket`D.`ServerSocket` Lát kiểm tra lại Câu 3Nhận biếtKhi tạo một đối tượng `Socket` (client), các tham số cơ bản cần cung cấp là gì?A.Chỉ số cổng của server.B.Chỉ địa chỉ IP của server.C.Địa chỉ MAC của server.D.Địa chỉ IP (hoặc tên máy chủ) và số cổng của server. Lát kiểm tra lại Câu 4Nhận biếtKhi tạo một đối tượng `ServerSocket` (server), tham số cơ bản cần cung cấp là gì?A.Địa chỉ IP của server.B.Tên máy chủ của server.C.Kích thước hàng đợi kết nối.D.Số cổng mà server sẽ lắng nghe. Lát kiểm tra lại Câu 5Nhận biếtĐể gửi dữ liệu qua một `Socket` (TCP), bạn sẽ sử dụng luồng (Stream) nào?A.`InputStream`B.`DataInputStream`C.`BufferedReader`D.`OutputStream` Lát kiểm tra lại Câu 6Nhận biếtĐể nhận dữ liệu qua một `Socket` (TCP), bạn sẽ sử dụng luồng (Stream) nào?A.`OutputStream`B.`DataOutputStream`C.`PrintWriter`D.`InputStream` Lát kiểm tra lại Câu 7Nhận biếtPhương thức nào của lớp `ServerSocket` được sử dụng để chờ và chấp nhận một kết nối từ client, sau đó trả về một đối tượng `Socket` mới để giao tiếp với client đó?A.`bind()`B.`listen()`C.`connect()`D.`accept()` Lát kiểm tra lại Câu 8Nhận biếtLớp nào trong Java được sử dụng để biểu diễn một địa chỉ IP (cả IPv4 và IPv6)?A.`IPAddress`B.`NetworkAddress`C.`HostAddress`D.`InetAddress` Lát kiểm tra lại Câu 9Nhận biếtTrong Java, lớp nào được sử dụng để tạo một socket cho giao tiếp UDP?A.`Socket`B.`ServerSocket`C.`InetAddress`D.`DatagramSocket` Lát kiểm tra lại Câu 10Nhận biếtKhi sử dụng `DatagramSocket` (UDP), dữ liệu được gửi và nhận dưới dạng nào?A.Stream of bytes.B.TCP segments.C.UDP packets.D.`DatagramPacket` objects. Lát kiểm tra lại Câu 11Nhận biếtKhi gửi một `DatagramPacket` trong Java, bạn cần chỉ định những thông tin gì?A.Chỉ dữ liệu.B.Chỉ địa chỉ IP đích.C.Chỉ số cổng đích.D.Dữ liệu, địa chỉ IP đích và số cổng đích. Lát kiểm tra lại Câu 12Nhận biếtKhi nhận một `DatagramPacket` trong Java, thông tin nào có thể được trích xuất từ gói tin đã nhận?A.Chỉ dữ liệu.B.Chỉ địa chỉ IP nguồn.C.Chỉ số cổng nguồn.D.Dữ liệu, địa chỉ IP nguồn và số cổng nguồn. Lát kiểm tra lại Câu 13Nhận biếtĐể đóng một kết nối TCP (socket) trong Java, phương thức nào được sử dụng?A.`disconnect()`B.`release()`C.`shutdown()`D.`close()` Lát kiểm tra lại Câu 14Nhận biếtKhi một `ServerSocket` chấp nhận một kết nối, nó tạo ra một `Socket` mới. Mục đích của `Socket` mới này là gì?A.Để đóng `ServerSocket`.B.Để lắng nghe các kết nối mới.C.Để gửi dữ liệu đến tất cả các client.D.Để giao tiếp riêng biệt với client vừa kết nối, cho phép `ServerSocket` tiếp tục lắng nghe các kết nối khác. Lát kiểm tra lại Câu 15Nhận biếtKhi một ứng dụng server Java cần xử lý nhiều client đồng thời, mô hình lập trình nào thường được sử dụng?A.Mô hình đơn luồng.B.Mô hình lặp lại (Iterative Server).C.Mô hình đồng bộ (Synchronous Server).D.Mô hình đa luồng (Multi-threaded Server) hoặc sử dụng Pool luồng (Thread Pool). Lát kiểm tra lại Câu 16Nhận biếtNếu bạn cố gắng kết nối đến một server mà không chạy trên cổng đó, loại ngoại lệ (exception) nào thường xảy ra trong Java?A.`IOException`B.`SocketTimeoutException`C.`NullPointerException`D.`ConnectException` Lát kiểm tra lại Câu 17Nhận biếtĐể đặt thời gian chờ (timeout) cho một thao tác đọc trên `Socket` (TCP) trong Java, bạn sẽ sử dụng phương thức nào?A.`setSoTimeout()`B.`setReceiveBufferSize()`C.`setSendBufferSize()`D.`setSoTimeout(int timeout)` Lát kiểm tra lại Câu 18Nhận biếtTrong Java Socket Programming, `InputStream` và `OutputStream` được sử dụng để làm gì?A.Để quản lý kết nối mạng.B.Để xử lý các lỗi bảo mật.C.Để thiết lập địa chỉ IP.D.Để đọc và ghi dữ liệu nhị phân từ/đến socket. Lát kiểm tra lại Câu 19Nhận biếtNếu bạn muốn gửi dữ liệu dưới dạng chuỗi (String) qua TCP socket trong Java, bạn thường sẽ "bọc" `OutputStream` bằng lớp nào để tiện lợi hơn?A.`BufferedReader`B.`DataInputStream`C.`ObjectInputStream`D.`PrintWriter` hoặc `BufferedWriter` Lát kiểm tra lại Câu 20Nhận biếtNếu bạn muốn đọc dữ liệu dưới dạng chuỗi (String) từ TCP socket trong Java, bạn thường sẽ "bọc" `InputStream` bằng lớp nào để tiện lợi hơn?A.`PrintWriter`B.`DataOutputStream`C.`ObjectOutputStream`D.`BufferedReader` hoặc `InputStreamReader` Lát kiểm tra lại Câu 21Nhận biếtTrong Java, để lấy địa chỉ IP của một host từ tên máy chủ (ví dụ: `www.google.com`), bạn sẽ sử dụng phương thức tĩnh nào của lớp `InetAddress`?A.`getLocalHost()`B.`getByAddress()`C.`isReachable()`D.`getByName(String host)` Lát kiểm tra lại Câu 22Nhận biếtLớp `DatagramSocket` trong Java có thể được tạo mà không cần chỉ định số cổng nếu:A.Nó là một client socket.B.Nó sẽ chỉ gửi dữ liệu.C.Nó sẽ chỉ nhận dữ liệu.D.Bạn muốn hệ thống tự động gán một số cổng tạm thời khả dụng cho nó. Lát kiểm tra lại Câu 23Nhận biếtĐiều gì sẽ xảy ra nếu bạn không đóng `Socket` hoặc `ServerSocket` sau khi sử dụng xong?A.Ứng dụng sẽ chạy nhanh hơn.B.Không có ảnh hưởng gì đáng kể.C.Dữ liệu sẽ tự động được gửi đi.D.Các tài nguyên mạng (như cổng, kết nối) sẽ không được giải phóng, dẫn đến rò rỉ tài nguyên. Lát kiểm tra lại Câu 24Nhận biếtĐể một server Java có thể tự động khởi động lại và tiếp tục lắng nghe kết nối nếu có lỗi xảy ra, người ta thường triển khai cấu trúc nào?A.Đặt server vào một vòng lặp vô hạn.B.Sử dụng một thread riêng biệt cho mỗi kết nối.C.Bắt ngoại lệ và xử lý chúng.D.Vòng lặp `while(true)` bao quanh `accept()` và xử lý từng client trong một luồng/tiến trình riêng biệt, cùng với cơ chế xử lý ngoại lệ. Lát kiểm tra lại Câu 25Nhận biếtKhi bạn cần gửi một đối tượng Java qua mạng bằng socket, bạn sẽ sử dụng các lớp nào để "tuần tự hóa" (serialize) và "giải tuần tự hóa" (deserialize) đối tượng đó?A.`DataInputStream` và `DataOutputStream`.B.`BufferedReader` và `PrintWriter`.C.`FileReader` và `FileWriter`.D.`ObjectInputStream` và `ObjectOutputStream`. Lát kiểm tra lại Số câu đã làm0/25|Thời gian còn lại--:--NỘP BÀI