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.