Tại thời điểm nào tốt hơn là chuyển từ java.net sang java.nio? .net (không phải là thực thể của Microsoft) dễ hiểu hơn và quen thuộc hơn, trong khi nio có khả năng mở rộng và có thêm một số tính năng tiện lợi.java.net so với java.nio
Cụ thể, tôi cần lựa chọn tình huống này: Chúng tôi có một trung tâm điều khiển quản lý phần cứng tại một số trang từ xa (mỗi trang có một máy tính quản lý nhiều đơn vị phần cứng (bộ thu phát, TNC và rotator)). Ý tưởng của tôi là viết một ứng dụng cắt trên mỗi máy hoạt động như một cổng từ trung tâm điều khiển đến phần cứng radio, với một ổ cắm cho mỗi thiết bị. Từ sự hiểu biết của tôi, NIO có nghĩa là cho một máy chủ, nhiều khách hàng, nhưng những gì tôi đang nghĩ đến là một khách hàng, nhiều máy chủ.
Tôi cho rằng tùy chọn thứ ba là sử dụng MINA, nhưng tôi không chắc liệu đó có phải là việc ném quá nhiều vào một vấn đề đơn giản hay không.
Mỗi máy chủ từ xa sẽ có tối đa 8 kết nối, tất cả từ cùng một máy khách (để kiểm soát tất cả phần cứng và tách ổ cắm TX/RX). Tuy nhiên, một máy khách duy nhất sẽ muốn kết nối với một số máy chủ cùng một lúc. Thay vì đặt mỗi máy chủ trên các cổng khác nhau, có thể sử dụng bộ chọn kênh ở phía máy khách hay không hay hơn để đi io đa luồng ở phía máy khách và định cấu hình các máy chủ khác nhau?
Thực tế, vì các máy từ xa chỉ tương tác với phần cứng khác, RMI hay IDL/CORBA có phải là giải pháp tốt hơn không? Thực sự, tôi chỉ muốn có thể gửi lệnh và nhận từ xa từ phần cứng, và không phải tạo ra một số giao thức lớp ứng dụng để thực hiện nó.
Với hệ điều hành 64 bit hiện đại, bạn có thể có hàng trăm nghìn chủ đề. –
Chắc chắn, nhưng đó không nhất thiết là cách có thể mở rộng nhất để kiến trúc một ứng dụng. –
Nhưng một ổ cắm tốn nhiều tài nguyên hơn một sợi chỉ ... – Zombies