{ public function connect() { $this->client->sendMessage((string) time()); printf("> Sent a time to %s:%d\n", $this->client->address, $this->client->port); // 終了させる。 $this->client->sendClose(); } } $serv->registerEvent(new TimeEvent(), 'time'); // デスクトップキャプチャ (Windows上のみで動作) class DesktopEvent extends WebSocketEvent implements IWebSocketEvent { public function receivedMessagePlain($message) { if ($message !== 'screen') { return; } $im = imagegrabscreen(); ob_start(); imagejpeg($im, null, 60); $window = ob_get_clean(); imagedestroy($im); $this->client->sendMessage('data:image/jpeg;base64,' . base64_encode($window)); } } $serv->registerEvent(new DesktopEvent(), 'desktop'); $serv->serverRun(); } catch (WebSocketException $e) { echo $e->getMessage() . "\n"; }