Java'da, aynı programın çoklu örnekleri arasındaki iletişim için bir bağlantı noktası numarası almam gerekiyor. Şimdi, bazı sabit numaralar seçip onunla gidebilirim. Ancak, bağlantı noktası numarasını dinamik olarak seçmenin bir yolu olup olmadığını merak ediyorum, böylece kullanıcılarımı bağlantı noktası numarasını ayarlayarak rahatsız etmeme gerek yok.Dinamik bağlantı noktası numarası mı seçiliyorsunuz?
İşte bu gibi çalışır olduğum bir fikir var:
- sabit başlangıç noktası numarası A.
- Programı 'Uygulamam' başladığında, başarılı olursa liman A.
- kapmak için çalışır var Daha sonra 'MyApp' ilk örneğidir. Bitti.
- Eğer başarısız olursa, A noktasındaki programın 'MyApp' örneğidir. Varsa, o örnekle iletişim kurun. Bitti. Değilse, A + 1 bağlantı noktasını tutmayı deneyin. Ve eğer bu portu kullanan başka bir program varsa ('MyApp' örneğini de değil), sonra A + 2, sonra A + 3, vb.
Bu strateji anlamlıdır mı? Veya bir port numarasını dinamik olarak seçmek için daha iyi bir yol var mı?
Bunu yapmanıza gerek yok. Bir soket oluşturursanız, sistem sizin için otomatik olarak bir sonraki kullanılabilir port numarasını atar. Lütfen, kullandığınız soket API'sının belgelerini dikkatlice okuyun. Ayrıca, kullandığınız programlama dili/kitaplığı hakkında daha fazla etiket sağlayın. –
@dma_k: Java'da, bunu başarmak için bağlantı noktası 0'a bağlamanız gerekir (karşı-sezgisel, biliyorum). Hiç bağlanmazsan, onu dinleyemezsin. : -P –
Oldukça fazla tüm soket uygulaması hatırlıyorum bu "karşı-sezgisel" hilesi, dinamik olarak atanmış bir bağlantı noktası istemek ... burada çok özel bir şey. – jldupont