Подключите 2 службы RPyC для двунаправленной связи

У меня есть сервер и клиенты. Клиенты подключаются к серверу и должны работать в фоновом режиме, ожидая вызова с сервера. Как я могу сделать это в RPyC?

На стороне клиента я выставил следующий сервис:

class ClientService(rpyc.Service):
    def exposed_call(self, data):
        print 'Received call with', data
        return data

И я начинаю это с:

conn = rpyc.connect("localhost", 12345, service=ClientService)
bgsrv = rpyc.BgServingThread(conn)

На стороне сервера у меня есть сервис void:

class ServerService(rpyc.Service):
    pass

И я начинаю это с:

from rpyc.utils.server import ThreadedServer

t = ThreadedServer(ServerService, port=12345)
t.start()

Экземпляры соединяются друг с другом. Как t.start() блокирует, как я могу вызвать клиентов с сервера, например - как реализовать цикл на сервере, чтобы каждые 5 секунд что-то отправлялось всем подключенным клиентам?

Я пробовал создавать подклассы ThreadedServer и модифицирование start но безрезультатно.

Заранее спасибо.

0 ответов

Другие вопросы по тегам