0

次のように、発行関数で最新の 200 件のメッセージのリストを取得しています。

Messages.find({
    room: roomname
}, {
    sort: {time : -1}, 
    limit: 200 
}),

これにより最新のものが最初になることはわかっていますが、最も古いものを最初にしたいので、クライアントで検索を行うときは、別の方法で並べ替えます。

messages: Messages.find({}, {sort: {time: 1}})

新しいメッセージを入力するときを除いて、すべてが正常に表示されます。すべての古いメッセージを含むリストの最後に挿入されます。挿入がサーバーへの往復を行った後、リストの正しい末尾にジャンプします。

制限とクライアント側の並べ替えをなくして、すべてのメッセージを正しい順序でクライアントに渡すと、この問題は発生しません。

レイテンシー補正中にメッセージを正しい場所に表示するにはどうすればよいですか?

4

0 に答える 0