Beispiel #1
0
 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);
 }
Beispiel #2
0
 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]);
 }