Pythontr

husonet | Tarih: 05.04.2011

python socket notları

  • socket.socket([family[, type[, proto]]])
    	- family
    AF_UNIX
    AF_INET
    AF_INET6


    	- type
    SOCK_STREAM
    SOCK_DGRAM


  • socket.bind(adres)
    adres verisi, seçilen soket ailesine göre değişir. AF_INET için (host, port) ikiilisi gerekir

  • socket.listen(maksimum_baglanti_sayisi)
    istemci bağlantıları için dinler

  • socket.accept()
    istemci bağlantısını kabul eder. (connection, address) çiftini döndürür

  • socket.recv(buffer_boyu[, flag])
    veriyi alır. buffer_boyu, 2'nin ufak bir katı şeklinde seçilmeli. Örneğin 1024


  • socket.recvfrom(buffer_boyu[, flag])
    recv() ile benzer. (veri, adres) ikilisini döndürür.

  • socket.send(veri[, flag])
    veri gönderir, gönderilen byte adedini döndürür. verinin tamami gönderilemediyse programcı gerekeni yapar.

  • socket.sendall(veri[, flag])
    verinin tamamını gönderir. Gönderilemezse exception oluşur

  • socket.close()
    bağlantıyı kapatır

  • socket.setblocking(flag)
    flag 0 ise non-blocking, 1 ise blocking soket kullanılır. Default olarak soketler blocking mod kullanır.
    non-blocking modda recv() veya send() işlemi hemen yapılmaya çalışır, yapılamazsa hata oluşur
    blocking modda işlem bitene kadar beklenir.


  • socket.settimeout(saniye)
    bloking soketler için zaman aşımı süresi. saniye olarak None verilirse soket, blocking moda geçer ve
    işlem bitene kadar bekler

  • exceptions
    . error ( soket ile ilgili hatalar )
    . herror ( adres ile ilgili hatalar )
    . gaierror ( adres ile ilgili hatalar )
    . timeout ( zaman aşımı )



Notları Hazırlayan Emrah abi'ye teşekkürler.