Подключите 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
но безрезультатно.
Заранее спасибо.