Python socket server üzerinden client-client iletişimi

Bir hatırlatmada bulunmak istiyorum. Hem server, hem de client’in mesaj gönderme ve mesaj alma işlemlerinin güvenli bir şekilde yapılabilmesi için bazı düzenlemeler yapmanız gerekecektir. Örneğin, recv fonksiyonuna yazılan 1024 veya 2048 gibi arabellek boyutları bir verinin alınabilecek maksimum boyutunu ifade eder. Verinin bu boyuttan daha düşük bir boyutta olan yığınını (chunk) da alabilirsiniz.

@aib arkadaşımız bizi bu konuda daha önce uyarmıştı. Sabit bir arabellek boyutu kullanmak yerine gönderilecek verinin boyutuna göre bu arabellek boyutunun belirlenmesinin gerektiğini söylemişti. Veri aktarımının başarıyla sonuçlandığını anlamak için de while alinan < gonderilen gibi bir koşul altında çalışan bir döngünün kullanılabileceğini belirtmişti.

Daha sonradan @EkremDincel arkadaşımız, bu konuyla alakalı bir modül tasarladı. Yani socket modülünü kullanmak yerine bu modülü kullanabilir ve veri aktarımının daha güvenli olmasını sağlayabilirsiniz. Tabi modülü kullanırken, veri gönderme ve veri alma işlemlerinin birbirlerini bloklamayacak şekilde gerçekleşmesi için iş parçacıkları kullanmanız gerekecektir. @EkremDincel arkadaşımızın yaptığı, veri alış-verişini daha kontrollü bir şekilde yapmak için alternatif send ve recv fonksiyonlarını içeren bir yama oluşturmaktır. (Yama doğru bir kelime mi emin olamadım.)

Yapmanız gereken şey sadece A little TCP socket interface for Python. · GitHub adresine giderek, bu dosyayı indirmek ve @EkremDincel’in yaptığı gibi socket programını bu microstream modülünü kullanarak yazmaktır.

İlgili mesajı incelemek için aşağıdaki bağlantıyı kullanabilirsiniz.

2 Beğeni