Esempio n. 1
0
 private function readPacket($client, &$size, &$requestID, &$packetType, &$payload)
 {
     socket_set_nonblock($client);
     $d = socket_read($client, 4);
     if ($this->stop === true) {
         return false;
     } elseif ($d === false) {
         return null;
     } elseif ($d === "" or strlen($d) < 4) {
         return false;
     }
     socket_set_block($client);
     $size = Binary::readLInt($d);
     if ($size < 0 or $size > 65535) {
         return false;
     }
     $requestID = Binary::readLInt(socket_read($client, 4));
     $packetType = Binary::readLInt(socket_read($client, 4));
     $payload = rtrim(socket_read($client, $size + 2));
     //Strip two null bytes
     return true;
 }
Esempio n. 2
0
 public function getLInt()
 {
     return Binary::readLInt($this->get(4));
 }
Esempio n. 3
0
 public function getInt()
 {
     return $this->endianness === self::BIG_ENDIAN ? Binary::readInt($this->get(4)) : Binary::readLInt($this->get(4));
 }