python socket notları
05.04.2011 10:04:37
- socket.socket([family[, type]])
- 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)
veriyi alır. buffer_boyu, 2'nin ufak bir katı şeklinde seçilmeli. Örneğin 1024
- socket.recvfrom(buffer_boyu)
recv() ile benzer. (veri, adres) ikilisini döndürür.
- socket.send(veri)
veri gönderir, gönderilen byte adedini döndürür. verinin tamami gönderilemediyse programcı gerekeni yapar.
- socket.sendall(veri)
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.
Yorumlar