downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

socket_set_option> <socket_set_block
[edit] Last updated: Fri, 23 Mar 2012

view this page in

socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5)

socket_set_nonblockBelirtilen dosya tanıtıcısı için beklememe kipini etkinleştirir

Açıklama

bool socket_set_nonblock ( resource $soket )

soket ile belirtilen sokete O_NONBLOCK seçeneğini atar (beklememe kipini etkin kılar; başka bir deyişle soketi engellenmeyen kipe sokar).

Bir engellenmeyen soket üzerinde yapılan işlemler (bağlanma, kabul, alım, gönderim gibi) sırasında bir sinyal gelmedikçe, okunacak veri yoksa veya veri yazılamıyorsa betik işlemin başlamasını beklemez ve böyle bir durumda ilgili işlev çağrısı (bu işlev değil) başarısız olur.

Değiştirgeler

soket

socket_create() veya socket_accept() ile oluşturulmuş geçerli bir soket özkaynağı.

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Örnekler

Örnek 1 - socket_set_nonblock() örneği

<?php
$soket 
socket_create_listen(1223);
socket_set_nonblock($soket);

socket_accept($soket);
?>

Bu örnekte, tüm arabirimlerin 1223. portunda bir dinleme soketi oluşturulmakta ve soket beklememe kipine (O_NONBLOCK) alınmaktadır. Bu anda bekleyen bir bağlantı yoksa socket_accept() bir zamanaşımı beklemeksizin başarısız olur.

Ayrıca Bakınız



add a note add a note User Contributed Notes socket_set_nonblock
kpobococ at gmail dot com 11-Sep-2009 01:46
Beware, when using this function within a loop (i.e. a demon with a socket). The socket_accept(), for example, emits a warning each time there is no incoming connection available to be read. My php error log file got huge in a matter of seconds, eventually crashing the server.

Of course, i used the @ before the function to take care of that problem.

[EDITOR: One can (and should) use socket_select to detect a new connection on a socket (it's a "readable" event)]

 
show source | credits | stats | sitemap | contact | advertising | mirror sites