Java soket API'si ile ilgili bazı sorunlarla karşılaşıyorum. Oyunuma şu anda bağlı olan oyuncuların sayısını görüntülemeye çalışıyorum. Bir oyuncunun ne zaman bağlandığını belirlemek kolaydır. Ancak, bir oyuncunun soket API'sini kullanarak bağlantısının ne zaman kesildiğini belirlemek gereksiz yere zor görünüyor.
isConnected()
Uzaktan bağlantısı kesilmiş bir soketi aramak her zaman geri dönüyor gibi görünüyor true
. Benzer şekilde, isClosed()
uzaktan kapatılmış bir soketi aramak her zaman geri dönüyor gibi görünür false
. Bir soketin kapanıp kapanmadığını gerçekten belirlemek için, verinin çıkış akışına yazılması ve bir istisna yakalanması gerektiğini okudum. Bu, bu durumu halletmek için gerçekten kirli bir yol gibi görünüyor. Bir soketin ne zaman kapandığını bilmek için ağ üzerinden sürekli olarak bir çöp mesajı spam etmemiz gerekirdi.
başka bir çözüm var mı?