TCP sunucu birden fazla istemcinin bağlanması

turkuazaga

Yeni Üye
Katılım
23 Aralık 2018
Mesajlar
58
TCP sunucunun şimdiki sürümünde, bir tek telnet istemci ile bağlanıyorum. Bu bağlantı kurulduktan sonra ve devam ederken ikinci bir telnet istemci ile bağlantı kuramıyorum. Sebebi muhtemelen sunucunun ilk bağlanan telnet istemcisinden veri bekliyor oluşu. Birden fazla istemciye yanıt verebilmek için ne yapılması gerekir? Bir ipucu verirseniz konu üzerinde kendim araştırmaya devam edeceğim.
 
Bunu iki şekilde yapabilirsin:

1) dinleme soketine her yeni client bağlandığında yeni bir thread oluşturursun ve o thread'in client soketi ile ilgilenmesini sağlayabilirsin.

2) dinleme soketine her yeni client bağlandığında, sunucuyu "fork" edip bu client ile ilgilenen ayrı bir process oluşturursun. Fork, yeni başlayan birisi için bir acayip ve anlaşılması zor gelebilir, bunu pek önermem.

3) Tamamen asenkron bir sunucu tasarımı kullanırsın ve select fonksiyonu ile hem dinleme soketini hem de client soketlerini servis edebilirsin. Yüksek performanslı TCP sunucuları (mesela binlerce client servis etmek durumda olan apache web sunucusu) bu sistemi kullanır. Ama bu biraz daha ileri düzey bir kullanım. İlk seçenek ile başlayıp önce onu çalışır hale getirmek daha uygun olur.
 

Çevrimiçi personel

Forum istatistikleri

Konular
9,190
Mesajlar
147,788
Üyeler
3,746
Son üye
oO_Felix

Son kaynaklar

Back
Top