私は実際に現在のユーザーを表示する必要があるチャットアプリケーションを構築しています。ユーザーがログインまたはログアウトしたときに値が1から0の間で切り替わるdbの列「IsOnline」があります。私は、現在オンラインになっている最新のユーザーを得るために15秒ごとにapiにヒットする機能が必要です。 シグナルとSQLの依存関係をサポートしていないエンティティフレームワークを使用しているので、私はこのようにすることに決めました。 私はセッション中にユーザーがいる限り、別のスレッドで15秒ごとに実行されるメソッドを使用して、他のcrud操作に干渉しないようにする方法はありますか。チャットアプリケーションのタイマー機能
0
A
答えて
1
15秒後のポーリングは、特にあなたのコールがDBにある場合には良い解決策ではありません。このアプローチのレイテンシについて考えてみましょう。私はあなたが15秒後にdbを呼び出すのではなく、異なるアプローチを探す必要があると思います。
オンライン/オフラインでチェックしたい場合は、DB内に保持するのではなく、永続的にメモリ内の状態を維持します(DBに保存する場合は1時間後または2時間後に保持します)。
1
メモリにステータスを格納します(memcachedやredisなど)。クライアントに15秒ごとにリクエストを発行させる。オンラインステータスは一時的なものであり、DBに格納する必要はありません。
アプリのアーキテクチャについて説明していないため、アドバイスするのは難しいです。
一般に、プレゼンス通知の効率的な実装は難しいです。あなた自身のものを開発するのではなく、棚から何かを取るほうが簡単かもしれません。
関連する問題
- 1. jQueryタイマー機能
- 2. UWPのカメラ機能のタイマー
- 3. ボタン機能付きタイマー?
- 4. Firebaseベースのタイマーのクラウド機能
- 5. iOSタイマー機能のヒープの破損
- 6. XMLフィードのタイマー機能/変更機能(Phongeap HTML5 Android App)
- 7. tvOSはチャットアプリケーションの通知機能をサポートしていますか?
- 8. チャットアプリケーションの「送信」ボタンが機能しない
- 9. タイマー機能でタイマーを止める方法は?
- 10. 角度jsタイマー機能が停止ボタンで機能しない
- 11. javaタイマーは機能しません
- 12. タイマーでJavaグラフィックスが機能しない
- 13. LinuxタイマーCLOCK_PROCESS_CPU_IDが機能しません
- 14. Javascript clearIntervalがタイマーで機能しない
- 15. reoccurringタイマー機能をインストールするには?
- 16. 不敬テストが期待通りに機能しない(チャットアプリケーションで)
- 17. プッシャーでAndroidチャットアプリケーションを構築する:機能していない
- 18. Kinect機能を使用したC#でのタイマーの使用
- 19. タイマー付きの更新パネルのボタンが機能しません
- 20. Androidで再利用可能なチャットアプリケーション
- 21. 信号機シミュレーションのタイマー
- 22. flashfirebug As3コンソールのタイマーまたはsetIntervalが機能しない
- 23. ダブルタップ表示タイマーの日付時間ピッカー機能
- 24. Angular.jsで複数のタイマー機能を表示
- 25. Javaタイマーの遅延が正しく機能しない
- 26. JavaScriptのタイマーがうまく機能しない
- 27. ファイアーゲームでタイマーはどのように機能しますか?
- 28. なぜこのタイマーは機能しませんか?
- 29. アンドロイドのP2pチャットアプリケーション
- 30. PHPのチャットアプリケーション
別のアプローチですか?あなたがここで何らかの方向で私を指し示すなら、助けになるでしょう。 –