protected function removeClient($socket) { Events::Fire("disconnect", $socket); $client = array_search($socket, $this->sockets); unset($this->sockets[$client]); if (is_resource($socket)) { socket_close($socket); } Events::Fire("disconnected", $socket); }
protected function handleReceive($socket, $data) { Events::Fire("receive", [$socket, $data]); $chunkedArray = explode("", $data); array_pop($chunkedArray); foreach ($chunkedArray as $rawData) { Logger::Debug("Received {$rawData}"); $packet = Packet::Parse($rawData); if (Packet::$IsXML) { $this->handleXmlPacket($socket); } else { $this->handleWorldPacket($socket); } } Events::Fire("received", [$socket, $data]); }