diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-10-13 19:14:05 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-10-13 19:14:05 +0900 |
| commit | 2b536a744391fe3c44accac7993ef9910c911248 (patch) | |
| tree | a1bdd62e2b4da9f057c808ec083d06bd94e5cf4c /src/server/api/stream | |
| parent | 10.12.1 (diff) | |
| download | sharkey-2b536a744391fe3c44accac7993ef9910c911248.tar.gz sharkey-2b536a744391fe3c44accac7993ef9910c911248.tar.bz2 sharkey-2b536a744391fe3c44accac7993ef9910c911248.zip | |
connectedイベントはpongパラメータがtrueの時だけ発行するように
Diffstat (limited to 'src/server/api/stream')
| -rw-r--r-- | src/server/api/stream/index.ts | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/server/api/stream/index.ts b/src/server/api/stream/index.ts index 6d3675c94b..e376b7a29e 100644 --- a/src/server/api/stream/index.ts +++ b/src/server/api/stream/index.ts @@ -146,9 +146,9 @@ export default class Connection { */ @autobind private onChannelConnectRequested(payload: any) { - const { channel, id, params } = payload; + const { channel, id, params, pong } = payload; log(`CH CONNECT: ${id} ${channel} by @${this.user.username}`); - this.connectChannel(id, params, channel); + this.connectChannel(id, params, channel, pong); } /** @@ -177,7 +177,7 @@ export default class Connection { * チャンネルに接続 */ @autobind - public connectChannel(id: string, params: any, channel: string) { + public connectChannel(id: string, params: any, channel: string, pong = false) { // 共有可能チャンネルに接続しようとしていて、かつそのチャンネルに既に接続していたら無意味なので無視 if ((channels as any)[channel].shouldShare && this.channels.some(c => c.chName === channel)) { return; @@ -186,9 +186,12 @@ export default class Connection { const ch: Channel = new (channels as any)[channel](id, this); this.channels.push(ch); ch.init(params); - this.sendMessageToWs('connected', { - id: id - }); + + if (pong) { + this.sendMessageToWs('connected', { + id: id + }); + } } /** |