NAT arkasındaki IP'leri aynı olan istemcilerle çalışmak istiyorsan başka bir çaren yok. Bildiğim bütün File Sharing uygulamaları bu yöntemi kullanır. Her client kurulumda unique bir numara alır. Sunucu ile olan bağlantılarda bu no yu da göndererek kendini diğer clientlardan ayırır.
Ping yollaman hat kopmalarına karşı kendini korumak için. Eğer client kendisi disconnect olduysa. Disconnect esnasında sunucuya "Benim numaram şu ve bağlantıyı kesiyorum" desin ve haber versin. Böylece ping yollamadan client'ın koptuğundan haberin olacak.
Bunlar hep denenmiş tescilli yöntem ve algoritmalar. Gnutella protokolü ile çalışmıştım zamanında.