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