5

RPyC を使用して、ハードウェア ボードの API をサービスとして提供したいと考えています。ボードは、一度に 1 人のユーザーしか対応できません。一度に 1 人のユーザーのみがアクセスできるように RPyC を強制する方法はありますか?

4

1 に答える 1

2

これが機能するかどうか (またはうまく機能するかどうか) はわかりませんが、ループ内でOneShotServerを開始してみると、常に1 つの接続のみが提供されます。接続が閉じられると、サーバーは終了し、次のクライアントのために別の接続を開始します。

何かのようなもの:

is_aborting = False
while not is_aborting:
    server = OneShotServer(myservice, *args, **kwargs)
    # serve the next client:
    server.start()
    # done serving the client

これが機能しない場合は、ThreadedServerをサブクラス化し、 _accept_methodメソッドをオーバーライドして、接続が既に開いているかどうかを追跡し、ある場合はエラーを返すことをお勧めします。

于 2016-01-18T20:29:09.933 に答える