|
@@ 122-129 (lines=8) @@
|
| 119 |
|
*/ |
| 120 |
|
protected function startSubscriptions() |
| 121 |
|
{ |
| 122 |
|
$this->session->subscribe(self::SESSION_JOIN_TOPIC, function ($res) { |
| 123 |
|
$sessionInfo = $res[0]; |
| 124 |
|
$sessionId = $sessionInfo->session; |
| 125 |
|
if ((array_search($sessionId, $this->sessionIds)) === false) { |
| 126 |
|
$this->sessionIds[] = $sessionId; |
| 127 |
|
$this->emit('join', [$sessionInfo]); |
| 128 |
|
} |
| 129 |
|
}); |
| 130 |
|
$this->session->subscribe(self::SESSION_LEAVE_TOPIC, function ($res) { |
| 131 |
|
// @bug : wamp.session.on_leave is bugged as of crossbar.io 0.11.0 |
| 132 |
|
// will provide sessionID when Browser closes/reloads, |
|
@@ 130-139 (lines=10) @@
|
| 127 |
|
$this->emit('join', [$sessionInfo]); |
| 128 |
|
} |
| 129 |
|
}); |
| 130 |
|
$this->session->subscribe(self::SESSION_LEAVE_TOPIC, function ($res) { |
| 131 |
|
// @bug : wamp.session.on_leave is bugged as of crossbar.io 0.11.0 |
| 132 |
|
// will provide sessionID when Browser closes/reloads, |
| 133 |
|
// but not when calling connection.close(); |
| 134 |
|
$sessionId = $res[0]; |
| 135 |
|
if (($key = array_search($sessionId, $this->sessionIds)) !== false) { |
| 136 |
|
unset($this->sessionIds[$key]); |
| 137 |
|
$this->emit('leave', [$sessionId]); |
| 138 |
|
} |
| 139 |
|
}); |
| 140 |
|
} |
| 141 |
|
|
| 142 |
|
/** |