私は自分が持っている問題についてどうやって行くのかについて意見を出したいと思っていました。既存のワーカー/タスクに接続しますか?
私はサーバーとクライアントを持っています。
クライアントAが接続してのは
クライアントBが接続し、1レッツ・コールに9999からカウントダウンし、別のスレッドを生成するためにサーバーを要求するこのスレッドAを呼ぶことにしましょう9999までの1から数えて新しいスレッドを生成するためにサーバーを要求しますこのスレッドB.
スレッドAは、呼び出し側クライアントに現在のカウントに関する更新を送信します(つまり、スレッドAはクライアントAを更新し、スレッドBはクライアントBを更新します)。
クライアントAが切断されて再接続されます - 私の質問は、現在のスレッドにどのように「再登録」して更新を入手するのですか?
このようなタスクを支援する既存のライブラリはありますか?
UPDATE:もう少し明確化、それは場合に役立ちます:
これらのサーバスレッドがバックグラウンドで継続的に実行されます。例えば、クライアントがサーバに接続してタスクを開始する - このタスクはメッセージをクライアントに返送する。ユーザーは、クライアントがメッセージを受信している間にタスクが開始されたことを知っています。ユーザーはクライアントを切断しますが、タスクはまだバックグラウンドで処理中です。ユーザーは、タスクを確認してクライアントを再起動し、サーバーに接続するようにします。最後の文は私が達成しようとしているものです。私の謝罪は明らかではない。
なぜ同じスレッドを購読する必要がありますか?サーバーに接続している多数のクライアントが、サーバーが完全に応答しなくなるほどのスレッドを生成する場合はどうなりますか? – galenus
私は達成しようとしているものの例を使用しようとしていたと思います.-基本的には「タスク」に再登録し、更新を継続します。 – TotalApproved
あなたのアーキテクチャーはスレッドに依存しません。すなわち、各スレッド(例えば、スレッドプールからの)は、前のスレッドが残したポイントから作業を選択し、処理を続けることができなければならない。しかし、あなたの質問には詳細があまりにも少ないです。たとえば、サーバースレッドにはどのような種類の作業負荷が割り当てられていますか?クライアントが接続したときにのみ処理されているのでしょうか、それとも連続バックグラウンド処理ですか? – galenus