im new для python и im, ищущего способ отправки данных с сервера на клиент. У меня есть программа мониторинга серверов, работающих на сервере, и хотел послать уведомление питона клиенту через питона серверкак отправлять данные с сервера на клиент, используя python twisted?
это код сервера
from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor
import time
class Server(Protocol):
def connectionMade(self):
self.transport.write("data to client")
factory = Factory()
factory.protocol = Server
reactor.listenTCP(8789, factory)
reactor.run()
код клиента
from twisted.internet.protocol import Protocol, ClientFactory
from sys import stdout
from twisted.internet import reactor
class printData(Protocol):
def dataReceived(self, data):
stdout.write(data)
class ClientFactory(ClientFactory):
def startedConnecting(self, connector):
print 'connecting'
def buildProtocol(self, addr):
print 'Connected.'
return printData()
def clientConnectionLost(self, connector, reason):
print reason
def clientConnectionFailed(self, connector, reason):
print reason
if __name__ == '__main__':
reactor.connectTCP('localhost', 8789, ClientFactory())
reactor.run()
до сих пор я обнаружил, что если клиент отправляет сообщение, сервер отвечает на это сообщение, но есть ли способ отправлять данные только тогда, когда данные доступны клиенту, не ожидая ответа клиентов?
О, спасибо за объяснение, которое положило меня на правильный путь –