NIO và TCP tạo một cặp tuyệt vời cho nhiều kết nối. Vì một kết nối mới cần phải được mở cho mỗi máy khách mới, mỗi máy khách này thường sẽ cần chuỗi riêng của họ để chặn các hoạt động I/O. NIO giải quyết vấn đề đó bằng cách cho phép dữ liệu được đọc khi có thể, thay vì chặn cho đến khi nó có sẵn. Nhưng còn UDP thì sao?Điểm của việc sử dụng UDP với NIO là gì?
Ý tôi là, UDP không kết nối không có tính chất chặn của TCP được liên kết với nó do cách thức giao thức được thiết kế (gửi và quên nó, về cơ bản). Nếu tôi quyết định gửi một số dữ liệu đến một số địa chỉ, sau đó nó sẽ làm như vậy, mà không có sự chậm trễ (trên máy chủ). Tương tự như vậy, nếu tôi muốn đọc dữ liệu, tôi chỉ có thể nhận các gói dữ liệu riêng lẻ từ các nguồn khác nhau. Tôi không cần phải có nhiều kết nối đến nhiều nơi bằng nhiều chủ đề để đối phó với mỗi người.
Vậy, NIO và bộ chọn tăng cường UDP như thế nào? Cụ thể hơn, khi nào người ta thích sử dụng UDP với NIO hơn là gói ol 'java.net
?
Không phải là câu trả lời cho câu hỏi của bạn - nhưng trước tiên bạn nên kiểm tra xem NIO có nhanh hơn hay tốt hơn ngay cả đối với TCP - http://mailinator.blogspot.in/2008/02/kill-myth-please-nio-is-not -faster-than.html http://paultyma.blogspot.in/2008/03/writing-java-multithreaded-servers.html – user93353