コード例 #1
0
ファイル: Socket.php プロジェクト: kraken-php/framework
 /**
  * @param SocketInterface $client
  * @param string $data
  */
 public function onData(SocketInterface $client, $data)
 {
     $messages = [];
     $resID = $client->getResourceId();
     $buffer = '';
     if (isset($this->frameBuffer[$resID])) {
         $buffer = $this->frameBuffer[$resID];
         unset($this->frameBuffer[$resID]);
     }
     $buffer = preg_replace_callback("#(.*?)\r\n#si", function ($matches) use(&$messages) {
         $messages[] = $matches[1];
         return '';
     }, $buffer . $data);
     if ($buffer !== '') {
         $this->frameBuffer[$resID] = $buffer;
         unset($buffer);
     }
     foreach ($messages as $message) {
         if ($message !== '') {
             $this->onMessage($client, $message);
         }
     }
 }
コード例 #2
0
 /**
  * @override
  * @inheritDoc
  */
 public function getResourceId()
 {
     return $this->conn->getResourceId();
 }