X-Git-Url: http://git.pk910.de/?p=PHP-P10.git;a=blobdiff_plain;f=Uplink%2FClient.class.php;h=1c3f778189cc69ad91f9394fc8e67f0f827b3f5c;hp=8a38610dba6870d5fa961f8c9acb6073b5df6da0;hb=3927f0cb5827f9da038702bb0f7a8efd69b34aa7;hpb=5cb4a51d7eee716c108e7071e0de392b4c512a57 diff --git a/Uplink/Client.class.php b/Uplink/Client.class.php index 8a38610..1c3f778 100644 --- a/Uplink/Client.class.php +++ b/Uplink/Client.class.php @@ -54,6 +54,7 @@ class Client { private $socket; private $traffic = array("in" => 0, "out" => 0); + private $timeout; public function connect($host, $port, $bind = null, $ssl = false, $blocking = 0) { if($bind) @@ -63,12 +64,8 @@ class Client { $context = stream_context_create($options); $sock = stream_socket_client(($ssl ? 'ssl://' : '').$host.':'.$port, $errno, $errstr, 3, STREAM_CLIENT_CONNECT, $context); if($sock) { - if($blocking) { - stream_set_blocking($sock, true); - stream_set_timeout($sock, 0, ($blocking / 1000)); - } else { - stream_set_blocking($sock, false); - } + $this->timeout = $blocking * 1000; + stream_set_blocking($sock, false); $this->socket = $sock; return true; } else @@ -98,7 +95,7 @@ class Client { $read = array($this->socket); $write= null; $except=null; - $n=@stream_select($read, $write, $except, 0); + $n=@stream_select($read, $write, $except, 0, $this->timeout); if($n === FALSE || feof($this->socket)) { $this->socket = false; return null;