public function onMessage($server, $fd, $data)
{
$id = substr($data, 0, 4);
$request = substr($data, 4);
$context = new stdClass();
$context->server = $server;
$context->fd = $fd;
$context->id = $id;
$context->userdata = new stdClass();
$self = $this;
$this->userFatalErrorHandler = function ($error) use($self, $server, $fd, $id, $context) {
$self->wsPush($server, $fd, $id . $self->endError($error, $context));
};
$response = $this->defaultHandle($request, $context);
$response->then(function ($response) use($self, $server, $fd, $id) {
$self->wsPush($server, $fd, $id . $response);
});
}