Fixed the issue of WebSocket asynchronous initialization #11946
Merged
+145
−103
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
问题原因 | Reasons of Problem
由于
melody.Melody
的初始化是异步进行的, 因此在广播 WebSocket 的消息通道初次建立时会话还未初始化完成, 进而导致 WebSocket 连接无法建立Because
melody.Melody
is initialized asynchronously, the session is not initialized when the broadcast WebSocket message channel is first established, which results in the failure to establish a WebSocket connection.修复方案 | Fix Scheme
阻塞广播 WebSocket 建立请求直到会话初始化完成
Block broadcast WebSocket establishment requests until session initialization is complete
已经过测试 | TESTED