Hangi noktada java.net'den java.nio'ya geçmek daha iyidir? .net (Microsoft varlığı değil) daha kolay anlaşılır ve daha tanıdıkken, nio ölçeklenebilir ve bazı ek zarif özellikler ile birlikte gelir.java.net versus java.nio
Özellikle, bu durum için bir seçim yapmam gerekiyor: Birden çok uzak yerde (birden fazla donanım birimi (bir alıcı-verici, TNC ve rotator) yöneten bir bilgisayar bulunan her site) donanımı yöneten bir denetim merkezimiz var. Benim fikrim, kontrol ünitesinden radyo donanımına, her ünite için bir sokete sahip bir ağ geçidi olarak görev yapan her makinede ciddi bir uygulama yazmaktı. Anlayışımdan NIO, bir sunucuya, birçok müşteriye yöneliktir, fakat düşündüğüm şey bir müşteri, birçok sunucudır.
Üçüncü bir seçeneğin MINA'yı kullanmak olduğunu varsayalım, ama bunun basit bir probleme çok fazla attığından emin değilim.
Her uzak sunucu aynı istemciden (tüm donanım ve ayrı TX/RX soketleri kontrol etmek için), 8 adede kadar bağlantı olacaktır. Tek istemci, aynı anda birkaç sunucuya bağlanmak isteyecektir. Her bir sunucuyu farklı bağlantı noktalarına koymak yerine, istemci tarafında kanal seçicilerini kullanmak mümkün mü ya da şeylerin istemci tarafında çok iş parçacıklı io'ya geçmek ve sunucuları farklı şekilde yapılandırmak daha mı iyidir? Uzak makineler diğer donanım ile etkileşim sadece hizmet ettiğinden
Aslında, RMI veya IDL/CORBA daha iyi bir çözüm olurdu? Gerçekten, sadece komutları göndermek ve telemetriyi donanımdan alabilmek ve bunu yapmak için bazı uygulama katmanı protokolleri oluşturmak zorunda kalmak istemiyorum.
Modern bir 64 bit işletim sistemi ile yüz binlerce iş parçacığına sahip olabilirsiniz. –
Elbette, ama bu bir uygulamayı mimar olmak için mutlaka en ölçeklenebilir yol değil. –
Ancak, bir soket, bir iş parçacığından çok daha fazla kaynak yoğunluğuna sahip ... – Zombies