私はServiceStackのサーバーイベント機能を試していて、一種の "オンラインユーザー"テストアプリケーションを作りたいと思っています。アイデアは、新しいユーザーが参加するたびに、または「ユーザー」のチャンネルに接続する各ユーザーを更新することです。問題は、サブスクリプション/ユーザーが切断/切断されたときを検出する方法を見つけることができないことです。クライアントのServiceStackイベントの切断
2
A
答えて
0
ServerEventsClient.OnCommand
コールバックは、ユーザーがに参加すると、解雇はまたはアップデートそのServerEventサブスクリプションを残しています。
またでいつでもチャンネルからのすべてのアクティブな加入者のリストを取得することができます
加入者公開情報を含む型なしDictionary<string,string>
のリストを返します
var sseClient = new ServerEventsClient(...);
var response = sseClient.ServiceClient.Get(new GetEventSubscribers {
Channels = sseClient.Channels
});
。私もちょうど、すべてのユーザーを取得するために型指定されたAPIを提供し、今v4.0.57 on MyGetから入手可能ですthis commitでGetChannelSubscribers()
のための型付きAPIを追加しました
は例えば、ServerEventsClient
チャンネルに加入:
var channelSubscribers = sseClient.GetChannelSubscribers();
関連する問題
- 1. クライアント側切断イベントのSignalr connectionid
- 2. SignalR:クライアントの切断
- 3. Typescript Servicestack SSEイベントのクライアント認証
- 4. Bluez gattサーバーのクライアントからの切断のイベント
- 5. datetimeboxのdojoイベントの切断
- 6. iOSのAsyncsocket切断イベント
- 7. twilioノードの切断イベント
- 8. ServiceStackクライアントのポストボディ
- 9. ソケット - サーバーの切断時にクライアントを切断する
- 10. サーバー送信イベントがクライアント切断を検出しましたか?
- 11. socket.io強制切断クライアント
- 12. VerneMQプラグイン強制切断クライアント
- 13. コンソールアプリケーションSignalRクライアント切断タイムアウト
- 14. UNetクライアントの切断エラー:NetworkClient.ConnectのCRCMismatch
- 15. linux usb接続/切断イベント
- 16. 切断しているクライアントのsocket.id?
- 17. WCFクライアント切断の処理方法
- 18. ServiceStackクライアント圧縮
- 19. C#AC電源の接続/切断イベント
- 20. ServiceStack RedisのクライアントがServiceStack.Common
- 21. RedisのIOExceptionが:ServiceStack C#クライアント
- 22. Javascript ServiceStackクライアントのシリアル化エラー
- 23. servicestackクライアント認証エンコードパスワード
- 24. "クライアントが切断されました" HttpException
- 25. アイドルソケット/クライアントを切断するC
- 26. ラチェットウェブソケット - 切断されたクライアントを検出
- 27. socket.io:切断イベントが発生しない
- 28. クライアントとサーバーの時刻の差ServiceStack
- 29. servicestack typescriptクライアントのd.tsでの日付サポート
- 30. ServiceStackサービスのクライアントとサーバーのURL
は上が同等のイベントですサーバー側では、私の必要性は、サーバーがバックグラウンドを実行し、クライアントを更新しなければならない古典的なTCP/IPタイプのクライアントサーバーを作成することです(それをやりはじめようとしている人に依存しないでください)。 – Ravenheart
また、サイドノートで、クライアントが不正に切断された場合(アプリケーションを終了すると)、サーバーの登録を解除しても、アクティブなサブスクライバリスト(/ event-subscribers)から長期間削除されません時間(分単位)。 – Ravenheart
@Ravenheartあなたは 'ServerEventsFeature.OnUnsubscribe'にコールバックを登録することができます。クライアントがハートビートの送信を停止し、' ServerEventsFeature.IdleTimeout'(デフォルトは30秒)後に自動的に登録解除されるので、 。 – mythz