Skip to first unread message

Luis Bill

unread,
Jun 25, 2013, 11:37:21 AM6/25/13
to kivy-...@googlegroups.com
hi, I've been trying to perform communication between a kivy GUI module (my server) and another python module (my client). But so far I have problems running the xml rpc server along with the GUI run() function. I still have that problem even after running my server in a thread.
I hope someone has suggestions on how to fix my code, or just how to xml-rpc along with kivy.

Here is my code:

import kivy
kivy.require('1.7.1')
from kivy.lang import Builder
from kivy.uix.gridlayout import GridLayout
from kivy.app import App
from threading import Thread
from kivy.clock import Clock


Builder.load_file('kivy_gui.kv')

class RoamClientInterface(GridLayout):
    """Sets up connection with XMLRPC server"""
    move = False

    """
    driveForward() -> Moves robot forward
    """
    def driveForward(self):
        self.move = True

    """
    stop() -> stops robot from moving
    """
    def stop(self):
        self.move = False

    def returnBool(self):
        return self.move

class ClientInterface(App):
    def build(self):
        return RoamClientInterface()

def sendCommands(dt):

    print "start"
    print ""
    from SimpleXMLRPCServer import SimpleXMLRPCServer
    server = SimpleXMLRPCServer(("localhost", 5000))
    print "initialize server"
    print ""
    server.register_instance(RoamClientInterface())
    print "register instance"
    print ""
   # while True:
    try:
        print "try handle request"
        print ""
        server.handle_request()
        print "print handle request"
        print ""
    except KeyboardInterrupt:
        import sys
        sys.exit()

if __name__ == '__main__':
    serverThread = Thread(target=sendCommands(4))
    serverThread.start()
   # Clock.schedule_once(
sendCommands)
    ClientInterface().run()
 
Reply all
Reply to author
Forward
0 new messages