def __init__(self, **kw): super(Peaky, self).__init__(**kw) install_twisted_reactor()
# install_twisted_rector must be called before importing and using the reactor from kivy.support import install_twisted_reactor install_twisted_reactor() import win32com.client from twisted.internet import reactor from twisted.internet import protocol class EchoProtocol(protocol.Protocol): def dataReceived(self, data): self.factory.app.handle_message(data) class EchoFactory(protocol.Factory): protocol = EchoProtocol def __init__(self, app): self.app = app from kivy.app import App from kivy.uix.label import Label class TwistedServerApp(App): def build(self): self.label = Label(text="server started\n") reactor.listenTCP(8000, EchoFactory(self)) return self.label
# install_twisted_rector must be called before importing the reactor from __future__ import unicode_literals from kivy.support import install_twisted_reactor install_twisted_reactor() # A Simple Client that send messages to the Echo Server from twisted.internet import reactor, protocol class EchoClient(protocol.Protocol): def connectionMade(self): self.factory.app.on_connection(self.transport) def dataReceived(self, data): self.factory.app.print_message(data.decode('utf-8')) class EchoClientFactory(protocol.ClientFactory): protocol = EchoClient def __init__(self, app): self.app = app def startedConnecting(self, connector): self.app.print_message('Started to connect.') def clientConnectionLost(self, connector, reason): self.app.print_message('Lost connection.')