У меня есть программа, серверы которой взаимодействуют друг с другом с помощью удаленных вызовов процедур Twisted, и у меня возникают проблемы с закрытием соединений, когда они больше не нужны.Соединения должны быть в состоянии закрываться с обеих сторон.
Случай 1: Как закрыть соединение в соединительной части?
factory = pb.PBClientFactory()
reactor.connectTCP(ip, port, factory)
deferred = factory.login(credentials.UsernamePassword(username, password), client=self)
deferred.addCallbacks(self.connectedToServer, self.errorConnectingToServer)
def connectedToServer(self, server):
self.server = server
# Closing connection comes here
Случай 2: Как закрыть соединение в серверной части?
class MyPerspective(pb.Avatar):
def connected(self, server):
self.client = server
# Closing connection comes here
В данный момент я использую повышение pb.Error (), чтобы закрыть соединение, но я не думаю, что это правильный способ сделать это.