<?php
/******************************* PHP-P10 v2 *****************************
- * Copyright (C) 2011 Philipp Kreil (pk910) *
+ * Copyright (C) 2011-2012 Philipp Kreil (pk910) *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
- * *
+ * *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
************************************************************************
- *
+ *
* Uplink/Client.class.php
*
* This file contains the basic Client Socket.
class Client {
const CLIENT_RECV_MAX_LINES = 20; //maximum Lines to receive within one recv() call
-
+
private $socket;
private $traffic = array("in" => 0, "out" => 0);
private $timeout;
-
+
public function connect($host, $port, $bind = null, $ssl = false, $blocking = 0) {
if($bind)
- $options = array('socket' => array('bindto' => $bind.":0"));
+ $options = array('socket' => array('bindto' => $bind.":0"));
else
- $options = array();
+ $options = array();
$context = stream_context_create($options);
$sock = stream_socket_client(($ssl ? 'ssl://' : '').$host.':'.$port, $errno, $errstr, 3, STREAM_CLIENT_CONNECT, $context);
if($sock) {
$this->socket = $sock;
return true;
} else
- return false;
+ return false;
}
-
+
public function disconnect() {
if($this->socket == null) return;
fclose($this->socket);
$this->socket = null;
}
-
+
public function connected() {
if($this->socket == null) return false;
$read = array($this->socket);
}
return true;
}
-
+
public function recv() {
$read = array($this->socket);
$write= null;
}
return null;
}
-
+
public function send($line, $newline = "\r\n") {
if($this->socket == null) return;
echo"[send] ".utf8_decode($line)."\n";
$this->traffic['out'] += strlen($line);
fwrite($this->socket,$line.$newline);
}
-
+
public function getTraffic() {
return $this->traffic;
}