public function socketSend($server, $socket, $data, $id)
{
$dataLength = strlen($data);
if ($id === null) {
$this->send($server, $socket, pack("N", $dataLength));
} else {
$this->send($server, $socket, pack("NN", $dataLength | 0x80000000, $id));
}
if ($dataLength <= self::MAX_PACK_LEN) {
return $this->send($server, $socket, $data);
} else {
for ($i = 0; $i < $dataLength; $i += self::MAX_PACK_LEN) {
if (!$this->send($server, $socket, substr($data, $i, min($dataLength - $i, self::MAX_PACK_LEN)))) {
return false;
}
}
return true;
}
}