And lo and behold it seems to work now even with Kivy. Strange. For posterity, here's the simple client code I was using for a minimal example. I'll expand upwards from here and see how far I can get.
#install_twisted_rector must be called before importing the reactor from kivy.support import install_twisted_reactor install_twisted_reactor() from twisted.internet import reactor, protocol from twisted.internet.task import deferLater from ampserver import Sum, Divide from twisted.protocols import amp class EchoClient(amp.AMP): def connectionMade(self): self.factory.resetDelay() self.factory.app.on_connection(self) class EchoFactory(protocol.ReconnectingClientFactory): protocol = EchoClient def __init__(self, app): self.app = app from kivy.app import App from kivy.uix.label import Label from kivy.uix.textinput import TextInput from kivy.uix.boxlayout import BoxLayout # A simple kivy App, with a textbox to enter messages, and # a large label to display all the messages received from # the server class TwistedClientApp(App): connection = None def build(self): root = self.setup_gui() self.connect_to_server() return root def setup_gui(self): self.textbox = TextInput(size_hint_y=.1, multiline=False) self.textbox.bind(on_text_validate=self.send_message) self.label = Label(text='connecting...\n') self.layout = BoxLayout(orientation='vertical') self.layout.add_widget(self.label) self.layout.add_widget(self.textbox) return self.layout def connect_to_server(self): reactor.connectTCP('127.0.0.1', 1234, EchoFactory(self)) def on_connection(self, connection): self.print_message("connected succesfully!") self.connection = connection def send_message(self, *args): msg = self.textbox.text.encode('ascii') if self.connection: d = self.connection.boxReceiver.callRemote(Sum, a=3, b=8) def prin(result): print(result) d.addCallback(prin) def print_message(self, msg): self.label.text += str(msg) + "\n" if __name__ == '__main__': TwistedClientApp().run() _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python