yılında Müşteriler saklamak için ve bir istemci ben Dizi Listeleri kurucusuna yeni Soket geçmesi ServerSocket.accept() yoluyla bağlayan zaman tipi Client bir ArrayList var. Bu yapıcınasıl bir sunucu çalıştırıyorum bir liste
this.add(new Client(Socket client));
bir istemci keser, Soket kapattığında Benim sorundur argumanıdır ama arraylist onun yerinde silin ve biri aşağı her şeyi dışına çıkmaz. Arraylist sürekli büyüyor.
Bu sorunu çözmek için/kullanabilecekleri ne yapabilir?
Bazen bir arraylist müşterilerine depolamak neden tüm müşterilerle ilgili yürütülecek komutları çalıştırır.
bir sunucu müşterilerine depolamak için daha iyi bir alternatif var mı?
Güncelleme 1
sınıfları başlangıç aşamalarında bulunmaktadır. Çok az uygulandı. Şimdiye kadar cevapta önerilen HashMap seçeneği benim için en iyisi. Yanıtlarınız için teşekkürler
kontrol etmelisiniz :) gerektiğinde
Client
kendisini sonra temizleyebilir Bu yolla da sunucusu. Değilse, istemciyi ArrayList'ten kaldırmak için 'java.util.ArrayList.remove (Object)' Yöntemini kullanın. –İstemcinin bağlantısı kesildiğinde, kaldırmak istediğiniz 'Client' nesnesine sahip misiniz? –