Trong lập trình UDP, Server muốn tạo một DatagramSocket để cho phép Client kết nối. Ta sử dụng câu lệnh nào sau đây
Trả lời:
Đáp án đúng: B
Trong lập trình UDP (User Datagram Protocol) với Java, `DatagramSocket` là lớp được sử dụng để tạo socket cho phép gửi và nhận các datagram packet. Server cần một `DatagramSocket` để lắng nghe các kết nối đến từ client.
* **A. `DatagramSocket()`**: Câu lệnh này tạo một `DatagramSocket` và gán nó vào một port có sẵn bất kỳ trên hệ thống. Port này được chọn ngẫu nhiên bởi hệ điều hành. Server có thể sử dụng port này để lắng nghe, nhưng client sẽ cần phải biết port này để gửi dữ liệu đến, điều này thường không thực tế.
* **B. `DatagramSocket(1234)`**: Câu lệnh này tạo một `DatagramSocket` và gán nó vào port 1234. Điều này cho phép server lắng nghe trên port cụ thể này. Client có thể dễ dàng kết nối đến server bằng cách sử dụng port này.
* **C. `DatagramSocket("localhost")`**: Câu lệnh này không đúng cú pháp. `DatagramSocket` không chấp nhận một chuỗi đại diện cho hostname như "localhost".
* **D. `DatagramSocket("localhost", 1234)`**: Câu lệnh này cũng không đúng cú pháp. Không có constructor nào của `DatagramSocket` nhận hostname và port như các tham số.
Do đó, đáp án đúng là B, vì nó tạo một `DatagramSocket` lắng nghe trên một port cụ thể, cho phép client kết nối đến.





