public function send($data)
{
if (!$this->isConnected()) {
throw new SocketException('Socket is not connected');
}
$length = strlen($data);
if ($length == 0) {
return 0;
}
for ($i = $length; $i > 0; $i -= $written) {
$written = @fwrite($this->socket, substr($data, -1 * $i));
if ($written === false) {
return false;
} elseif ($written === 0) {
return false;
}
}
return $length;
}