Python soketler için faydalı 2 fonksiyon
Python ile soketler serisinin 3. yazısında, iki yeni fonksiyondan bahsedeceğim. Şu örnek üzerinden gideceğiz;
Bu örnek, site değişkeninde verdiğimiz siteye bağlanıp, okuduğu cevabı
ekrana yazıyor. Burada socket.create_connection
ve
socket.socket.sendall
olmak üzere iki yeni fonksiyon kullandık.
socket.create_connection
fonksiyonu, ilk yazı'da örnek verdiğim şu
kullanım için bir kısayol sağlıyor.
Bu fonksiyon verilen internet adresini dinleyen TCP servisine bağlanır.
Eğer adres olarak numerik olmayan bir sunucu adı verirseniz, bu adı hem
AF_INET
hem de AF_INET6
için çözümlemeye çalışır. Başarılı bir
bağlantı sağlayıncaya kadar bu adreslere sırasıyla bağlanmaya çalışır.
Bu fonksiyon, hem IPv4 hem de IPv6 uyumlu programlar yazmamız için çok
faydalıdır.
sendall fonksiyonu ise, send fonksiyonu gibi sokete veri gönderir. Ancak, send fonksiyonunda verinin tamamının gönderildiğinin bir garantisi yoktur. send fonksiyonu, kaç byte gönderdiğini döndürür. Verinin hepsinin gittiğini kontrol etmek ve eksikleri tamamlamak programcıya düşer. sendall ise, tüm veri gönderilinceye veya bir hata alıncaya kadar çalışır. Böylece, programcı bu zahmete kendisi katlanmak zorunda kalmaktan kurtulur.
Bu iki fonksiyonu, soketler konusunda çalışırken kolaylık olması açısından anlatmak istedim. Kritik fonksiyonlar değiller, ancak, bilmekte fayda var.
Kolay Gelsin.